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

 找回密码
 立即注册
楼主: z***

STC8H超级简单的USB-CDC虚拟串口应用及不停电下载(中断模式+查询模式)

[复制链接]
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    605

    积分

    高级会员

    积分
    605
    发表于 2023-2-11 20:22:48 | 显示全部楼层
    通讯最基本的接收和发送,希望能直接把这两个事说清楚,要发一个或一组数据怎么做。要接收一个或一组数据怎么做。有了基础,再看其它的就有底气了,小白表示想早学会。
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    605

    积分

    高级会员

    积分
    605
    发表于 2023-2-11 20:49:49 | 显示全部楼层
    试着写了几个句子,用一下USB。结果编译时连WARNING带ERROR。共有46条。这还是帮助新人的工具吗

    部分提示

    部分提示
  • TA的每日心情
    无聊
    2023-11-26 13:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    14

    主题

    85

    回帖

    605

    积分

    高级会员

    积分
    605
    发表于 2023-2-11 21:04:25 | 显示全部楼层
    char *USER_DEVICEDESC=NULL;
    char *USER_PRODUCTDESC=NULL;
    char *USER_STCISPCMD="@STCISP*";
    找到原因了。是这几个句子必须用上。虽然不知是干什么的。

    该用户从未签到

    538

    主题

    8730

    回帖

    1万

    积分

    管理员

    积分
    14185
    发表于 2023-2-11 21:14:15 | 显示全部楼层
    本贴的演示程序,你先不要修改他,烧录进去先跑起来 !
    今上午听销售讲:
    ===电脑串口助手发啥, MCU收到后就向电脑发啥
    ===这个程序也是USB不停电下载演示程序

    我没装KEIL N 年,不做技术了, 只能听他们讲
  • TA的每日心情
    开心
    前天 13:54
  • 签到天数: 1 天

    [LV.1]初来乍到

    31

    主题

    79

    回帖

    639

    积分

    高级会员

    积分
    639
    发表于 2023-2-19 12:15:35 | 显示全部楼层
    STC的CDC串口能像传统的串口中断产生中断吗?因为发送是自主的,但接收大多不是固定的。

    点评

    zhp
    如果是直接使用库,目前的库没有提供中断方式,只能使用查询 如果是自己写USB底层代码,可以使用中断方式(USB中断)  详情 回复 发表于 2023-2-19 15:46
  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    702

    回帖

    2458

    积分

    超级版主

    积分
    2458
     楼主| 发表于 2023-2-19 15:46:57 | 显示全部楼层
    lgwd 发表于 2023-2-19 12:15
    STC的CDC串口能像传统的串口中断产生中断吗?因为发送是自主的,但接收大多不是固定的。 ...

    如果是直接使用库,目前的库没有提供中断方式,只能使用查询
    如果是自己写USB底层代码,可以使用中断方式(USB中断)

    该用户从未签到

    538

    主题

    8730

    回帖

    1万

    积分

    管理员

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

    该用户从未签到

    538

    主题

    8730

    回帖

    1万

    积分

    管理员

    积分
    14185
    发表于 2023-2-19 17:27:03 | 显示全部楼层
    自动缓存数据:USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的上一笔数据时,
        如果此时上位机又有新的数据下传,虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。
    ===中断不是太重要了 ????? 好事啊 !
    ===1次可以有效字节 64个 ? 操作的频繁性要求降低了
  • TA的每日心情
    开心
    前天 13:54
  • 签到天数: 1 天

    [LV.1]初来乍到

    31

    主题

    79

    回帖

    639

    积分

    高级会员

    积分
    639
    发表于 2023-2-21 16:45:55 | 显示全部楼层
    谢谢回复!如果仿照你们“一箭双雕”的代码做出两个串口(只用做一个就可),内部自己就使用了而不是为了对外给别人用。使用这个串口与上位机实现通讯。这个串口像普通串口一样具有收发中断。这个想法可行吗?如果可行,是否必须除了P3.0/P3.1,还要额外占用两个引脚比如P1.0/P1.1,即这两个引脚对外不能使用?

    该用户从未签到

    1

    主题

    10

    回帖

    49

    积分

    新手上路

    积分
    49
    发表于 2023-2-26 15:36:14 | 显示全部楼层
    已经看了代码。但一次好像只能收或发送64个字节。能否一次发送更多,如何改动?
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-3-29 08:35 , Processed in 0.085463 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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