拿这个测,us级别:
- #include "stc8h.h"
- #include "stc32_stc8_usb.h"
-
- sbit LED_0 = P2 ^ 0;
- sbit LED_1 = P2 ^ 1;
- extern void usb_write_reg(BYTE addr, BYTE dat);
- extern BYTE usb_read_reg(BYTE addr);
-
- u8 isCDCOpen(){
- u8 result = 0;
- if (DeviceState != DEVSTATE_CONFIGURED){
- return 0;
- }
- IE2 &= ~0x80;
- usb_write_reg(INDEX, 1);
- if (!(usb_read_reg(INCSR1) & INIPRDY)){
- result = 1;
- }
- IE2 |= 0x80;
- return result ;
- }
-
- void main()
- {
- P_SW2 |= 0x80;
-
- 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 接口配置
-
- EA = 1;
-
- while (1)
- {
- if (bUsbOutReady)
- {
- //USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
- LED_1 = 0;
- USB_SendData("12345678\r\n", 10); //测试发送10个字节
- LED_1 = 1;
- usb_OUT_done();
- }
-
- LED_0 = 0;
- if(isCDCOpen()){
- USB_SendData("12345678\r\n", 10);//测试发送10个字节
- }
- LED_0 = 1;
- }
- }
复制代码
|