请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 4545|回复: 16

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

[复制链接]

该用户从未签到

538

主题

8734

回帖

1万

积分

管理员

积分
14193
发表于 2023-1-28 17:05:41 | 显示全部楼层 |阅读模式
USB-CDC是最简单的串口,最强大的串口,最可靠的串口,硬件CRC自动校验
如何[P3.0, P3.1]直接连接到电脑USB口进行传统串口通信,彻底【省掉昂贵的USB转串口芯片】
【USB-CDC虚拟串口】就是 【串口】-1.png

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

可以继续使用如下串口助手/USB-CDC虚拟串口助手
【USB-CDC虚拟串口】就是 【串口】-3.png
如下最快的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通信无奇偶校验位






回复 送花

使用道具 举报

该用户从未签到

538

主题

8734

回帖

1万

积分

管理员

积分
14193
 楼主| 发表于 2023-1-28 17:14:52 | 显示全部楼层

详细的说明已在新的数据手册中传统串口章节前面增加专门的章节说明
1.png
STC8H完整的演示程序/工程项目下载, 及超清晰使用说明,含KEIL编译完成后自动不停电下载,见如下链接
超级简单的STC USB-CDC虚拟串口应用---STC8H8K64U系列 - USB/一箭双雕之USB转双串口 国芯论坛 (stcaimcu.com)

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

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

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

USB-CDC虚拟串口的参考程序,见如下 开天斧-STC8H8K64U 演示程序包
2.png
回复 支持 1 反对 0 送花

使用道具 举报

该用户从未签到

538

主题

8734

回帖

1万

积分

管理员

积分
14193
 楼主| 发表于 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高级应用

该用户从未签到

538

主题

8734

回帖

1万

积分

管理员

积分
14193
 楼主| 发表于 2023-1-28 17:54:07 | 显示全部楼层
STC32G/STC8H8K64U 比 STC89C52RC 简单,  从教学角度和应用角度:
1,STC32G的定时器,从应用角度比STC89C52RC 简单太多
===只需讲1个16位自动重装载模式,定时长,反复中断无误差,不像传统的4个模式都不实用
===还可以8位预分频,实际24位定时器,轻松定个5秒中断
2,STC32G的串行口,从应用角度比STC89C52RC 简单太多
===STC32G的波特率计算公式是 :系统时钟/4/[65536-重装数],误差小,对系统时钟要求低
===传统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, 可以不讲
  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 78 天

    [LV.6]常住居民II

    69

    主题

    509

    回帖

    1738

    积分

    超级版主

    积分
    1738
    QQ
    发表于 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%不会丢失或被覆盖。
    热线19952583534
    www.STCAI.com

    该用户从未签到

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2023-2-2 14:03:38 | 显示全部楼层
    神农鼎 发表于 2023-1-28 17:54
    STC32G/STC8H8K64U 比 STC89C52RC 简单,  从教学角度和应用角度:
    1,STC32G的定时器,从应用角度比STC89C5 ...

    “16位自动重装载模式,定时长,反复中断无误差”,的确如此,我也是最喜欢、最大量使用16位自装载模式。哈
  • TA的每日心情
    开心
    2024-1-26 15:29
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2

    主题

    24

    回帖

    294

    积分

    中级会员

    积分
    294
    发表于 2023-2-4 22:30:02 | 显示全部楼层
    还是没有整明白,USB-CDC虚拟串口要是可以兼容PC端上位机那真的可以省去昂贵的USB-TTL芯片了,期待,看下用新案子跳过TTL芯片直连验证下会不会用.

    点评

    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=870&extra=page%3D1 【新提醒】超级简单的STC USB-CDC虚拟串口应用---STC8H8K64U系列 - USB/一箭双雕之USB转双串口 国芯论坛 (stcaimcu.com)  详情 回复 发表于 2023-2-4 23:33

    该用户从未签到

    538

    主题

    8734

    回帖

    1万

    积分

    管理员

    积分
    14193
     楼主| 发表于 2023-2-4 23:33:57 | 显示全部楼层

    该用户从未签到

    538

    主题

    8734

    回帖

    1万

    积分

    管理员

    积分
    14193
     楼主| 发表于 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. 贵公司的 [屠龙刀/降龙棍 / 开天斧/打狗棒] 买回来就直接可以用吗?
    ====是
  • TA的每日心情
    无聊
    13 小时前
  • 签到天数: 104 天

    [LV.6]常住居民II

    17

    主题

    524

    回帖

    1083

    积分

    金牌会员

    积分
    1083
    发表于 2023-4-7 07:43:33 | 显示全部楼层
    强大!!
    不停地学习
    回复 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-3-29 22:03 , Processed in 0.073517 second(s), 69 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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