11
-1
59
注册会员
第一步:去官方下载USB的资源官方下载地址: https://www.stcai.com/Customer/FileDownloadVerifyPass?fileid=656048下载完成后后面的步骤按官方文档来设置。下面给大家提供实现代码:
// 头文件 #include "stc32g.h" //stc32g头文件 #include "stc32_stc8_usb.h" // USB 不停电自动下载必要的代码 char *USER_DEVICEDESC = NULL; char *USER_PRODUCTDESC = NULL; char *USER_STCISPCMD = "@STCISP#"; //不停电自动ISP下载命令 void sys_init(); // 设置为准双向口函数的声明 void delay_ms(u8 ms); // 延时函数的声明 //主函数 void main() { sys_init(); // USB函数 usb_init(); // USB初始化 EUSB = 1; // 使用USB中断 EA = 1; while (DeviceState != DEVSTATE_CONFIGURED); //等待 USB 完成配置 while (1) { delay_ms(2); if (bUsbOutReady) //判断时候生成虚拟端口 { USB_SendData(UsbOutBuffer,OutNumber); usb_OUT_done(); } } } // 准双向口函数 void sys_init() { WTST = 0; CKCON = 0; EAXFR = 1; P0M1 = 0; P0M0 = 0; //设置为准双向口 P1M1 = 0; P1M0 = 0; //设置为准双向口 P2M1 = 0; P2M0 = 0; //设置为准双向口 P3M1 = 0; P3M0 = 0; //设置为准双向口 P4M1 = 0; P4M0 = 0; //设置为准双向口 P5M1 = 0; P5M0 = 0; //设置为准双向口 P6M1 = 0; P6M0 = 0; //设置为准双向口 P7M1 = 0; P7M0 = 0; //设置为准双向口 // P3.0/P3.1和USB的D-/D+共用PIN脚,需要将P3.0/P3.1设置为高祖输入模式 P3M0 &= ~0X03; P3M1 |= 0X03; IRC48MCR = 0X80; while (!(IRC48MCR & 0X01)); USBCLK = 0X00; USBCON = 0X90; } //延时函数 void delay_ms(u8 ms) { u16 i; do { i = MAIN_Fosc / 6000; while (--i); } while (--ms); }复制代码
使用道具 举报 送花
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-5-3 15:17 , Processed in 0.104901 second(s), 45 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.