催更!催更!催更!
超哥讲的非常详细,很适合0基础入门,不仅计算机知识0基础入门,甚至ctrl+f查询功能都会教给我们,非常认真的在教学,哭死!
- //第四集 USB不停电下载
- // note:
- //|=或等于:不会覆盖最初的1
-
- //调用头文件
- #include "ai8051u.h"
- #include "stc32_stc8_usb.h"
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- CHAR *USER_STCISPCMD = "@STCISP#";
-
- void main(void)
- {
-
- //功能脚切换控制,B7位代表EAXFR,1代表能访问,1000 0000转换成十六进制为80
- P_SW2 |= 0x80;
-
-
- // P0端口为准双向口
- P0M0 = 0x00;
- P0M1 = 0x00;
- // P4端口为准双向口
- P4M0 = 0x00;
- P4M1 = 0x00;
- // 所有口设置为准双向口
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
- P6M0 = 0x00;
- P6M1 = 0x00;
- P7M0 = 0x00;
- P7M1 = 0x00;
-
- // USB DC接口初始化
- usb_init();
- // 使能USB中断
- IE2 |= 0x80;
- // 打开总开关
- EA = 1;
- // 等待USB完成配置
- while(DeviceState != DEVSTATE_CONFIGURED);
-
- while(1)
- {
-
- if(bUsbOutReady)
- {
- // 发送数据缓冲区,长度
- USB_SendData(UsbOutBuffer,OutNumber);
- usb_OUT_done();
- }
-
- // P40、P00、P01端口输出为0V
- P40 = 0;
- P00 = 0;
- P01 = 0;
- }
- }
复制代码
USB不停电下载步骤
|