找回密码
 立即注册
查看: 1117|回复: 14

USB-CDC虚拟串口不能主动向上位机发送数据吗?

[复制链接]
  • TA的每日心情
    开心
    2024-5-5 00:08
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    5

    主题

    25

    回帖

    131

    积分

    注册会员

    积分
    131
    发表于 2023-3-26 20:25:07 | 显示全部楼层 |阅读模式
    USB-CDC虚拟串口不能主动向上位机发送数据吗?必须要上位机先发送数据到单片机后才能发送一条信息到上位机?是这样的吗?
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 15:03
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    35

    主题

    87

    回帖

    765

    积分

    高级会员

    积分
    765
    发表于 2023-3-26 20:27:57 | 显示全部楼层
    可以主动发送啊!STC打包了一个发送函数。参考STC提供的程序范例。
  • TA的每日心情
    开心
    2024-5-5 00:08
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    5

    主题

    25

    回帖

    131

    积分

    注册会员

    积分
    131
     楼主| 发表于 2023-3-26 21:21:52 | 显示全部楼层
    我在官方库函数包中没找到,麻烦你说明一下出处,谢谢。

    该用户从未签到

    552

    主题

    9530

    回帖

    1万

    积分

    管理员

    积分
    14104
    发表于 2023-3-26 21:56:12 | 显示全部楼层
  • TA的每日心情
    开心
    2024-5-5 00:08
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    5

    主题

    25

    回帖

    131

    积分

    注册会员

    积分
    131
     楼主| 发表于 2023-3-26 23:07:46 | 显示全部楼层
    水平太差,一时半会儿看不明白,超级简单的USB-CDC虚拟串口原来一点也不简单,没个个把月盯着看,我看是弄不明白如何下位机主动向上位机发送数据了:L,能否烦劳老大仔细点播一下:handshake

    该用户从未签到

    552

    主题

    9530

    回帖

    1万

    积分

    管理员

    积分
    14104
    发表于 2023-3-26 23:18:48 | 显示全部楼层
    你明问你对接的销售是如何 30分钟搞定的,或者看如下这集视频搞定
    1.png
    深圳国芯人工智能有限公司-教学视频 (stcai.com)

    该用户从未签到

    552

    主题

    9530

    回帖

    1万

    积分

    管理员

    积分
    14104
    发表于 2023-3-26 23:23:12 | 显示全部楼层
    我们销售 从 0启航,第4节课就会 USB-CDC虚拟串口就是最强大最简单的串口了
    1.png
    深圳国芯人工智能有限公司-教学视频 (stcai.com)
  • TA的每日心情
    开心
    前天 07:59
  • 签到天数: 101 天

    [LV.6]常住居民II

    41

    主题

    1016

    回帖

    6971

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6971
    QQ
    发表于 2023-3-26 23:40:26 | 显示全部楼层
    看你的USB.h文件里,有么有如下文件
    早期的USB-CDC虚拟串口发送函数是:void usb_IN(BYTE cnt);
    最新的USB-CDC虚拟串口发送是:void USB_SendData(BYTE *dat, int size);
    当然如果做了串口重定向的话,直接调用printf就可以直接发送了~
  • TA的每日心情
    开心
    2024-5-5 00:08
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    5

    主题

    25

    回帖

    131

    积分

    注册会员

    积分
    131
     楼主| 发表于 2023-3-27 00:08:01 | 显示全部楼层
    本帖最后由 baigezy 于 2023-3-27 00:09 编辑

    void Timer0_Isr(void) interrupt 1
    {
        if( ++j >= 1000)
        {
               printf("测试!!!\r\n");
        }        
                   
    }

    void Timer0_Init(void)                //1毫秒@22.1184MHz
    {
            AUXR |= 0x80;                        //定时器时钟1T模式
            TMOD &= 0xF0;                        //设置定时器模式
            TL0 = 0x9A;                                //设置定时初始值
            TH0 = 0xA9;                                //设置定时初始值
            TF0 = 0;                                //清除TF0标志
            TR0 = 1;                                //定时器0开始计时
            ET0 = 1;                                //使能定时器0中断
    }
    定时器一秒发送一次,但是,执行结果是如图,一直不中断的发送测试结果。这是怎么回事
    无标题.png
  • TA的每日心情
    开心
    2024-5-5 00:08
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    5

    主题

    25

    回帖

    131

    积分

    注册会员

    积分
    131
     楼主| 发表于 2023-3-27 00:13:38 | 显示全部楼层
    用void USB_SendData(BYTE *dat, int size)函数发送也是一样的结果
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-19 22:32 , Processed in 0.071647 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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