guangseen 发表于 2025-1-15 22:49:17

学习打卡并求助-第四课不停电下载《8051U深度入门到32位51大型实战教学视频》

不停电下载确实很实用,特别是对开发人员来说,不用频繁的去操作。特别是这种手把手的教学很好,完全不用自己思考,跟着做就行了,大赞。

但是可惜的是我按照视频做出来后MCU没能出COM口,也不能实现视频的功能,不知是不是因为板子不同的原因。 下载后系统无法识别。我是USB直连到MCU的P3.0和P3.1R的。上电时按住P3.2开关可以进入USB模式,下载了程序后就不行了,代码也跑不起来。如果不用USB库代码,下载代码后都能正常运行.
1.系统不能正确识别MCU模拟的USB2.以下是项目配置.
3. 代码很简单,就是利用定时器4让P0驱动LED累加亮起来.
#include<STC8051U.H>#include<intrins.h>#include"stc32_stc8_usb.h" char*USER_DEVICEDESC = NULL;char*USER_PRODUCTDESC = NULL;char*USER_STCISPCMD = "@STCISP#"; voidsys_initial(){    P0M1 = 0x00;    P0M0 = 0xff;    P3M1 = 0X00;    P3M0 = 0X00;    P3PU = 0xff;    P_SW2 |= 0x80;    //EAXFR = 1;    P0 = 0x00;    WTST = 0x00;    P4M1 = 0X00;    P4M0 = 0X00;} voiddelay50ms(void) //@22.1184MHz{    unsigned long edata i;     _nop_();    _nop_();    i = 276478UL;    while (i) i--;} voidtime4_init(void)//10MS @ 24MHz{    T4T3M = 0X00;    ET4 = 0;    T4IF = 0;    T4L = 0XE0;    T4H = 0XB1;    TM4PS = 0X00;    T4R = 1;   } voidmain(){    unsigned char t=0,i=0;    sys_initial();    delay50ms();    usb_init();    while (DeviceState != DEVSTATE_CONFIGURED);    IE2 |= 0x80;    EA = 1;    time4_init();    while(1)    {       _nop_();       _nop_();          if(T4IF)       {         T4IF=0;         i++;         if(i>=254) i=0;       }             if(i==50)       {         i=0;         t++;       }   if(bUsbOutReady)      {         USB_SendData(UsbOutBuffer,OutNumber);                        usb_OUT_done();      }       P0 = t;       _nop_();       _nop_();    }
}****************************************************************************************-2025/01/17 问题已解决,但不知道原因。 重新新建项目就可以了。也许是Keil环境问题吧。




页: [1]
查看完整版本: 学习打卡并求助-第四课不停电下载《8051U深度入门到32位51大型实战教学视频》