- #include "ai8051u.h" //调用头文件
- #include "stc32_stc8_usb.h" //调用头文件
- #include <intrins.h>
-
-
- //注意:擎天柱的LED端口在P2,且没有三极管的电源控制,所以只要控制P2端口即可,本节课程的其余内容(USB不停电下载)均通用!
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
-
- void Delay1ms(unsigned long xms) //@24.000MHz
- {
- unsigned long i,j;
- for(j=0;j<xms;j++){
- _nop_();
- _nop_();
- _nop_();
- i = 5998UL;
- while (i) i--;}
- }
-
-
- void main(void)
- {
- unsigned char i;
- P2M1 = 0x00; P2M0 = 0x00;
- P3M1 = 0x00; P3M0 = 0x00;
- P_SW2 |= 0x80; //B7位写1,使能访问XFR
- usb_init(); //USB CDC 接口配置
- IE2 |= 0x80; //使能USB中断
- EA = 1; //IE |= 0X80;
- while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
- P2=0XFF;
-
- while(1)
- {
-
- if (bUsbOutReady)
- {
- USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
-
- usb_OUT_done();
- }
- if(P33==0)
-
- {
- Delay1ms (10);
- while(P33==0);
- Delay1ms (10);
- P2=0XFF;
- }
-
- if(P32==0)
- {
- Delay1ms (10);
- while(P32==0);
- Delay1ms (10);
- P2=0x00;
- }
-
-
- }
- }
复制代码
|