USB-CDC虚拟串口不能主动向上位机发送数据吗?
USB-CDC虚拟串口不能主动向上位机发送数据吗?必须要上位机先发送数据到单片机后才能发送一条信息到上位机?是这样的吗?可以主动发送啊!STC打包了一个发送函数。参考STC提供的程序范例。 我在官方库函数包中没找到,麻烦你说明一下出处,谢谢。
【新提醒】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)
水平太差,一时半会儿看不明白,超级简单的USB-CDC虚拟串口原来一点也不简单,没个个把月盯着看,我看是弄不明白如何下位机主动向上位机发送数据了:L,能否烦劳老大仔细点播一下:handshake 你明问你对接的销售是如何 30分钟搞定的,或者看如下这集视频搞定
深圳国芯人工智能有限公司-教学视频 (stcai.com)
我们销售 从 0启航,第4节课就会 USB-CDC虚拟串口就是最强大最简单的串口了
深圳国芯人工智能有限公司-教学视频 (stcai.com)
看你的USB.h文件里,有么有如下文件
早期的USB-CDC虚拟串口发送函数是:void usb_IN(BYTE cnt);
最新的USB-CDC虚拟串口发送是:void USB_SendData(BYTE *dat, int size);
当然如果做了串口重定向的话,直接调用printf就可以直接发送了~ 本帖最后由 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中断
}
定时器一秒发送一次,但是,执行结果是如图,一直不中断的发送测试结果。这是怎么回事
用void USB_SendData(BYTE *dat, int size)函数发送也是一样的结果
页:
[1]
2