jwd 发表于 2023-4-19 23:15:19

不停电下载CDC模式和HID模式实验出现的编译报警

如题,我复制过来的文件开始编译时有报警,反复折腾终于发现错误,提供给有需要的同学

jwd 发表于 2023-4-20 08:19:34

#include "stc32g.h"
#include "usb.h"

#define FOSC    24000000UL

//USB调试及复位所需定义
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";                      //设置自动复位到ISP区的用户接口命令

void Delay1000ms()      //@24.000MHz
{
    unsigned long i;

    _nop_();
    _nop_();
    i = 5999998UL;
    while (i) i--;
}

void sys_init();

void main()
{
    sys_init();
    usb_init();
//    EUSB=1;
    EA=1;
    while(1)
    {
    P20=!P20;
    P21=!P21;
    P21=!P21;      
    Delay1000ms();
    }
   
}

void sys_init()
{
    WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

    P0M1 = 0x30;   P0M0 = 0x30;   //设置P0.4、P0.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P1M1 = 0x32;   P1M0 = 0x32;   //设置P1.1、P1.4、P1.5为漏极开路(实验箱加了上拉电阻到3.3V), P1.1在PWM当DAC电路通过电阻串联到P2.3
    P2M1 = 0x3c;   P2M0 = 0x3c;   //设置P2.2~P2.5为漏极开路(实验箱加了上拉电阻到3.3V),设置开漏模式需要断开PWM当DAC电路中的R2电阻
    P3M1 = 0x50;   P3M0 = 0x50;   //设置P3.4、P3.6为漏极开路(实验箱加了上拉电阻到3.3V)
    P4M1 = 0x3c;   P4M0 = 0x3c;   //设置P4.2~P4.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P5M1 = 0x0c;   P5M0 = 0x0c;   //设置P5.2、P5.3为漏极开路(实验箱加了上拉电阻到3.3V)
    P6M1 = 0xff;   P6M0 = 0xff;   //设置为漏极开路(实验箱加了上拉电阻到3.3V)
    P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
   
    P3M0&= ~0x03;               //P3.0/P3.1和USB的D-/D+共用PIN脚,
    P3M1|= 0x03;                  //需要将P3.0/P3.1设置为高阻输入模式
   
    //设置USB使用的时钟源
    IRC48MCR = 0x80;    //使能内部48M高速IRC
    while (!(IRC48MCR & 0x01));//等待时钟稳定
    USBCLK=0x00;//HID模式有这这2条语句好像也没有什么问题
    USBCON=0x90;
}


程序里面HID模式和CDC模式有这2条都可以,只是添加的库不一样,不知道也没有什么问题?
    USBCLK=0x00;//HID模式有这这2条语句好像也没有什么问题
    USBCON=0x90;
页: [1]
查看完整版本: 不停电下载CDC模式和HID模式实验出现的编译报警