第四集
在其他网站看到了别人关于AI8051的USB应用的视频,觉得非常不可思议。
原来USB的使用是可以如此的简单,AI8051太强了,我想玩玩。看了相关的课程和代码,顿时开悟了。
- #include "ai8051u.h" //调用头文件
- #include "stc32_stc8_usb.h" //调用头文件
-
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
-
- void main(void)
- {
- P_SW2 |= 0x80; //B7位写1,使能访问XFR
-
- P0M1 = 0x00; P0M0 = 0x00;
- P1M1 = 0x00; P1M0 = 0x00;
- P2M1 = 0x00; P2M0 = 0x00;
- P3M1 = 0x00; P3M0 = 0x00;
- P4M1 = 0x00; P4M0 = 0x00;
- P5M1 = 0x00; P5M0 = 0x00;
- P6M1 = 0x00; P6M0 = 0x00;
- P7M1 = 0x00; P7M0 = 0x00;
-
- usb_init(); //USB CDC 接口配置
-
- IE2 |= 0x80; //使能USB中断
- EA = 1; //IE |= 0X80;
-
- while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
-
- while(1)
- {
-
- if (bUsbOutReady)
- {
- USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
-
- usb_OUT_done();
- }
-
- P40 = 0; //P40端口输出0V
- P00 = 0; //P00端口输出0V
- P02 = 0; //P02端口输出0V
- //P01 = 0; //P01端口输出0V
- //
- }
- }
复制代码
这些封装好的函数可以用,不过封装成了LIB,不能一窥背后真容。不过这并不影响使用,期待能得到一套开发板,自己动手来做。
|