baigezy 发表于 2023-3-26 20:25:07

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

USB-CDC虚拟串口不能主动向上位机发送数据吗?必须要上位机先发送数据到单片机后才能发送一条信息到上位机?是这样的吗?

lgwd 发表于 2023-3-26 20:27:57

可以主动发送啊!STC打包了一个发送函数。参考STC提供的程序范例。

baigezy 发表于 2023-3-26 21:21:52

我在官方库函数包中没找到,麻烦你说明一下出处,谢谢。

神农鼎 发表于 2023-3-26 21:56:12



【新提醒】STC32超级简单的USB-CDC虚拟串口应用及不停电下载 - USB/一箭双雕之USB转双串口 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)




【新提醒】STC8H超级简单的USB-CDC虚拟串口应用及不停电下载 - USB/一箭双雕之USB转双串口 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

baigezy 发表于 2023-3-26 23:07:46

水平太差,一时半会儿看不明白,超级简单的USB-CDC虚拟串口原来一点也不简单,没个个把月盯着看,我看是弄不明白如何下位机主动向上位机发送数据了:L,能否烦劳老大仔细点播一下:handshake

神农鼎 发表于 2023-3-26 23:18:48

你明问你对接的销售是如何 30分钟搞定的,或者看如下这集视频搞定

深圳国芯人工智能有限公司-教学视频 (stcai.com)

神农鼎 发表于 2023-3-26 23:23:12

我们销售 从 0启航,第4节课就会 USB-CDC虚拟串口就是最强大最简单的串口了

深圳国芯人工智能有限公司-教学视频 (stcai.com)

电子DIY小家 发表于 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就可以直接发送了~

baigezy 发表于 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中断
}
定时器一秒发送一次,但是,执行结果是如图,一直不中断的发送测试结果。这是怎么回事

baigezy 发表于 2023-3-27 00:13:38

用void USB_SendData(BYTE *dat, int size)函数发送也是一样的结果
页: [1] 2
查看完整版本: USB-CDC虚拟串口不能主动向上位机发送数据吗?