神农鼎 发表于 2023-1-28 17:05:41

[P3.0, P3.1]直接连到电脑USB,虚拟传统串口通信,USB-CDC虚拟串口

USB-CDC是最简单的串口,最强大的串口,最可靠的串口,硬件CRC自动校验
如何直接连接到电脑USB口进行传统串口通信,彻底【省掉昂贵的USB转串口芯片】


下图,这个就是串口/USB-CDC虚拟串口 跟电脑直接通信,不需要昂贵的【USB转串口】芯片


可以继续使用如下串口助手/USB-CDC虚拟串口助手

如下最快的STC 1T 8051, 32位8051 都可以实现USB-CDC就是串口:
STC8H8K64U-45MHz-TSSOP20, RMB1.9;
                               LQFP32/48/64, PDIP40, QFN64/48/32 全系列封装现货供应;
STC32G12K128-TSSOP20, RMB3.5
                     LQFP64/48/32, PDIP40, QFN64/48/32 全系列封装现货供应;
超级简单的STC USB-CDC虚拟串口:
当单片机需要和电脑之间进行数据交换时,首选一般都是串口通讯。
STC32G系列单片机内置USB控制器和收发器,当用户代码中嵌入USB-CDC虚拟串口代码后,
使用USB线将单片机【P3.0/D-, P3.1/D+】与电脑USB直接相连接,在电脑端就可识别出【USB-CDC虚拟串口】,

【USB-CDC 是最简单的串口,是最强大的串口,最可靠的串口,硬件CRC自动校验】
USB-CDC虚拟串口和传统串口相比有如下优点:
△数据传输更快:USB-CDC虚拟串口忽略传统串口的波特率,
    传输速度的比特率为全速USB的通讯速度12M bps(即每秒12M位)
△使用更简单便捷:USB-CDC虚拟串口忽略传统串口的起始位、停止位等冗余信息
△数据传输更可靠:USB-CDC虚拟串口丢弃传统串口简单的软件奇偶校验机制,采用高可靠的CRC校验!
    USB-CDC虚拟串口数据传输时有USB硬件CRC校验,以及校验出错重传机制,确保数据100%正确
△自动缓存数据:USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的上一笔数据时,
    如果此时上位机又有新的数据下传,虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。

USB-CDC就是串口,网友问:
问题1. 上位机使用C#或VB编程,使用其带有的串口通讯控件可以与采用USB-CDC通讯的STC32G收发数据吗?
答:
===USB-CDC串口在PC端的使用和普通串口一模一样
===C#/VB的串口控件访问USB-CDC虚拟串口的方式和访问普通串口一样
===如果不使用STC32G的USB-CDC虚拟串口当BRIDGE/USB-CDC再转串口,则可以忽略波特率、数据位、停止位、奇偶校验等参数
问题2. C#或VB编程的串口控件如何设置波特率、数据位、停止位、奇偶校验等参数?
答:
====USB-CDC虚拟串口,不用管:【波特率、奇偶校验】

USB-CDC虚拟串口:不管波特率,不管奇偶校验位!
1,不管波特率,USB-CDC是12M bps的固定速度通信;
2,不管奇偶校验位,USB-CDC通信无奇偶校验位






神农鼎 发表于 2023-1-28 17:14:52


详细的说明已在新的数据手册中传统串口章节前面增加专门的章节说明

STC8H完整的演示程序/工程项目下载, 及超清晰使用说明,含KEIL编译完成后自动不停电下载,见如下链接
超级简单的STC USB-CDC虚拟串口应用---STC8H8K64U系列 - USB/一箭双雕之USB转双串口 国芯论坛 (stcaimcu.com)


STC32完整的演示程序/工程项目下载, 及超清晰使用说明,含KEIL编译完成后自动不停电下载,见如下链接
超级简单的STC USB-CDC虚拟串口应用---STC32G系列 - USB/一箭双雕之USB转双串口 国芯论坛 (stcaimcu.com)

后续 大学教材 《单片机原理及应用》 要将 USB-CDC虚拟串口 放在传统串口前面讲,
用STC提供的库,USB-CDC虚拟串口使用起来:更简单,更实用

USB-CDC虚拟串口的参考程序,见如下 屠龙刀-STC32G12K128 演示程序包


USB-CDC虚拟串口的参考程序,见如下 开天斧-STC8H8K64U 演示程序包

神农鼎 发表于 2023-1-28 17:25:53

后续 大学教材
1,《STC 1T 8051 单片机原理及应用》   要将 USB-CDC虚拟串口 放在传统串口前面讲
2,《STC 32位8051 单片机原理及应用》 要将 USB-CDC虚拟串口 放在传统串口前面讲
STC8H/STC32G,
讲完原理的 【I/O , Timer,外部中断,所有的I/O都可以支持外部中断】
就直接 【超级简单的 USB-CDC虚拟串口,库函数应用】
然后:【ADC,比较器,传统串口,SPI, I2C, PWM 】
学有余力的再 CAN, USB高级应用

神农鼎 发表于 2023-1-28 17:54:07

STC32G/STC8H8K64U 比 STC89C52RC 简单,从教学角度和应用角度:
1,STC32G的定时器,从应用角度比STC89C52RC 简单太多
===只需讲1个16位自动重装载模式,定时长,反复中断无误差,不像传统的4个模式都不实用
===还可以8位预分频,实际24位定时器,轻松定个5秒中断
2,STC32G的串行口,从应用角度比STC89C52RC 简单太多
===STC32G的波特率计算公式是 :系统时钟/4/,误差小,对系统时钟要求低
===传统8051的波特率计算公式太复杂,我都记不住,而且对系统时钟要求高,不是那几种误差就会大
3,STC32G的12位-ADC,从应用角度比STC89C52RC 简单太多,传统教材只能外扩
4,STC32G的 比较器,从应用角度比STC89C52RC 简单太多,内置比较器不用外扩,可以不讲
5,STC32G的 SPI,从应用角度比STC89C52RC 简单太多,内置SPI/简单,传统教材只能软件模拟/太复杂,可以不讲
6,STC32G的 I2C,从应用角度比STC89C52RC 简单太多,内置I2C/简单,传统教材只能软件模拟/太复杂,可以不讲
7,STC32G的 RTC,从应用角度比STC89C52RC 简单太多,内置RTC/简单,传统教材只能外扩/太复杂,可以不讲
8,增加了32位世界流行的 PWM / DMA, 可以不讲

国学芯用 发表于 2023-2-2 09:53:07

超级简单的STC USB-CDC虚拟串口:
当单片机需要和电脑之间进行数据交换时,首选一般都是串口通讯。
STC32G系列单片机内置USB控制器和收发器,当用户代码中嵌入USB-CDC代码后,
使用USB线将单片机与电脑直接相连接,在电脑端就可识别出【USB-CDC虚拟串口】,
【USB-CDC虚拟串口】就是【串口】。
USB-CDC虚拟串口和传统串口相比有如下优点:
△数据传输更快:USB-CDC虚拟串口忽略传统串口的波特率,
    传输速度的比特率即为全速USB的通讯速度12MBPS(即每秒12M位)
△使用更简单便捷:USB-CDC虚拟串口忽略传统串口的起始位、停止位等冗余信息
△数据传输更可靠:USB-CDC虚拟串口丢弃传统串口简单的软件奇偶校验机制,
    USB-CDC虚拟串口数据传输时有USB硬件CRC校验,以及校验出错重传机制,保证数据100%正确
△自动缓存数据:USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的一笔数据时,
    如果此时上位机又有新的数据下传,虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。

f5911 发表于 2023-2-2 14:03:38

神农鼎 发表于 2023-1-28 17:54
STC32G/STC8H8K64U 比 STC89C52RC 简单,从教学角度和应用角度:
1,STC32G的定时器,从应用角度比STC89C5 ...

“16位自动重装载模式,定时长,反复中断无误差”,的确如此,我也是最喜欢、最大量使用16位自装载模式。哈

qq603599910 发表于 2023-2-4 22:30:02

还是没有整明白,USB-CDC虚拟串口要是可以兼容PC端上位机那真的可以省去昂贵的USB-TTL芯片了,期待,看下用新案子跳过TTL芯片直连验证下会不会用.

神农鼎 发表于 2023-2-4 23:33:57

qq603599910 发表于 2023-2-4 22:30
还是没有整明白,USB-CDC虚拟串口要是可以兼容PC端上位机那真的可以省去昂贵的USB-TTL芯片了,期待,看下用新 ...

https://www.stcaimcu.com/forum.php?mod=viewthread&tid=870&extra=page%3D1


【新提醒】超级简单的STC USB-CDC虚拟串口应用---STC8H8K64U系列 - USB/一箭双雕之USB转双串口 国芯论坛 (stcaimcu.com)

神农鼎 发表于 2023-2-10 11:26:03

USB-CDC就是串口,网友问:
问题1. 上位机使用C#或VB编程,使用其带有的串口通讯控件可以与采用CDC通讯的STC32G收发数据吗?
===USB-CDC串口在PC端的使用和普通串口一模一样
===C#/VB的串口控件访问USB-CDC虚拟串口的方式和访问普通串口一样
===如果不使用STC32G的USB-CDC虚拟串口当BRIDGE/USB-CDC再转串口,则可以忽略波特率、数据位、停止位、奇偶校验等参数
问题2. C#或VB编程的串口控件如何设置波特率、数据位、停止位、奇偶校验等参数?
====USB-CDC虚拟串口,不用管:【波特率、奇偶校验】
问题3. STC32G的CDC串口模式在STC8H系列上也完全相同吗?
====一样
4. 贵公司的 [屠龙刀/降龙棍 / 开天斧/打狗棒] 买回来就直接可以用吗?
====是

WHX 发表于 2023-4-7 07:43:33

强大!!
页: [1] 2
查看完整版本: [P3.0, P3.1]直接连到电脑USB,虚拟传统串口通信,USB-CDC虚拟串口