找回密码
 立即注册
查看: 417|回复: 4

基于LIB库的USB-CDC转串口函数问题

[复制链接]

7

主题

10

回帖

89

积分

注册会员

积分
89
发表于 2024-9-26 20:07:17 | 显示全部楼层 |阅读模式
基于LIB库的USB-CDC转串口函数中添加定时器初始化函数后,数据无法接收,这是什么原因?
截图202409262006097570.jpg


  1. #include "stc32g.h"
  2. #include "stc32_stc8_usb.h"
  3. #include "Timer.h"
  4. #define FOSC 24000000UL                             //ISP 下载时需将工作频率设置为 24MHz
  5. char *USER_DEVICEDESC = NULL;
  6. char *USER_PRODUCTDESC = NULL;  
  7. char *USER_STCISPCMD = "@STCISP#";                  //不停电自动 ISP 下载命令
  8. void main()
  9. {
  10.     WTST = 0;
  11.     CKCON = 0;
  12.     EAXFR = 1;
  13.     Timer0_Init();     //*******************************定时器初始化函数
  14.     Timer2_Init();
  15.    
  16.     P0M0 =0x00;
  17.     P0M1 =0x00;
  18.    
  19.     P3M0 &= ~0x03;                                  //P3.0/P3.1 和 USB 的 D-/D+共用 PIN 脚,
  20.     P3M1 |= 0x03;                                   //需要将 P3.0/P3.1 设置为高阻输入模式
  21.     IRC48MCR = 0x80;                                //使能内部 48M 的 USB 专用 IRC
  22.    
  23.     while (!(IRC48MCR & 0x01));
  24.     USBCLK = 0x00;                                  //设置 USB 时钟源为内部 48M 的 USB 专用 IRC
  25.     USBCON = 0x90;                                  //使能 USB 功能
  26.     usb_init();                                     //调用 USB CDC 初始化库函数
  27.     EUSB = 1;                                       //使能 USB 中断
  28.     EA = 1;
  29.    
  30.     while (DeviceState != DEVSTATE_CONFIGURED);     //等待 USB 完成配置
  31.   
  32.    
  33.     while (1)
  34.     {
  35.         if (bUsbOutReady)                           //查询模式,当硬件接收完成上位机通过串口助手发送数据后
  36.                                                     //会自动将 bUsbOutReady 置 1
  37.                                                     //接收的数据字节数保存在 OutNumber 变量中
  38.                                                     //接收的数据保存在 UsbOutBuffer 缓冲区
  39.         {
  40.             USB_SendData(UsbOutBuffer,OutNumber);   //使用 USB_SendData 库函数可向上位机发送数据
  41.                                                     //这里的测试代码为将接收数据原样返回
  42.             usb_OUT_done();                         //处理完成接收的数据后
  43.                                                     //调用 usb_OUT_done 准备接收下一笔数据
  44.         }
  45.         
  46.         
  47.         
  48.     }
  49. }
复制代码
定时器初始化函数****************************************************

  1. void Timer0_Init()
  2. {
  3.         AUXR |= 0x80;                        //定时器时钟1T模式
  4.         TMOD &= 0xF0;                        //设置定时器模式
  5.         TL0 = 0x00;                                //设置定时初始值
  6.         TH0 = 0x00;                                //设置定时初始值
  7.         TF0 = 0;                                //清除TF0标志
  8.     TR0=1;
  9.    
  10.         ET0 = 1;                        //使能定时器0的溢出中断允许位
  11.     EA = 1;                         //使能总中断
  12. }
  13. /*========================================================================
  14. 功能描述:定时器2初始化
  15. 入口参数:无
  16. 返回值:无
  17. ========================================================================*/
  18. void Timer2_Init(void)
  19. {
  20.         AUXR |= 0x04;                        //定时器时钟1T模式
  21.         T2L = 0x90;                                //设置定时初始值
  22.         T2H = 0xE8;                                //设置定时初始值
  23.         AUXR |= 0x10;                        //定时器2开始计时
  24.     EA  = 1;
  25.     ET2 = 1;                //使能中断
  26. }
复制代码




无法接收数据

无法接收数据
回复

使用道具 举报 送花

7

主题

10

回帖

89

积分

注册会员

积分
89
发表于 2024-9-26 20:08:13 | 显示全部楼层
顺便请教一下如何基于LIB的USB-HID收发数据
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-9-27 10:21:10 | 显示全部楼层
请提供完整的项目程序,这样方便分析。
USB-HID数据收发,屠龙刀例程包里面有相关的例子跟说明文档:
“通过USB HID协议进行STC-ISP调试接口显示使用说明”
截图202409271020293634.jpg
回复 支持 反对

使用道具 举报 送花

7

主题

10

回帖

89

积分

注册会员

积分
89
发表于 2024-9-27 22:03:42 | 显示全部楼层
已上传完整程序

USB-CDC.7z

64.83 KB, 下载次数: 68

回复 支持 反对

使用道具 举报 送花

7

主题

10

回帖

89

积分

注册会员

积分
89
发表于 2024-9-27 22:04:26 | 显示全部楼层
乘风*** 发表于 2024-9-27 10:21
请提供完整的项目程序,这样方便分析。
USB-HID数据收发,屠龙刀例程包里面有相关的例子跟说明文档:
“通 ...

已上传完整程序
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:32 , Processed in 0.166891 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表