找回密码
 立即注册
楼主: zhp

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-2-11 20:22:48 | 显示全部楼层
通讯最基本的接收和发送,希望能直接把这两个事说清楚,要发一个或一组数据怎么做。要接收一个或一组数据怎么做。有了基础,再看其它的就有底气了,小白表示想早学会。
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

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

部分提示

部分提示
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

669

积分

高级会员

积分
669
发表于 2023-2-11 21:04:25 | 显示全部楼层
char *USER_DEVICEDESC=NULL;
char *USER_PRODUCTDESC=NULL;
char *USER_STCISPCMD="@STCISP*";
找到原因了。是这几个句子必须用上。虽然不知是干什么的。
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

我没装KEIL N 年,不做技术了, 只能听他们讲
  • 打卡等级:以坛为家I
  • 打卡总天数:244
  • 最近打卡:2025-05-01 15:50:20

49

主题

129

回帖

1361

积分

金牌会员

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

点评

如果是直接使用库,目前的库没有提供中断方式,只能使用查询 如果是自己写USB底层代码,可以使用中断方式(USB中断)  详情 回复 发表于 2023-2-19 15:46
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

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

如果是直接使用库,目前的库没有提供中断方式,只能使用查询
如果是自己写USB底层代码,可以使用中断方式(USB中断)
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 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%不会丢失或被覆盖。
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-2-19 17:27:03 | 显示全部楼层
自动缓存数据:USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的上一笔数据时,
    如果此时上位机又有新的数据下传,虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。
===中断不是太重要了 ????? 好事啊 !
===1次可以有效字节 64个 ? 操作的频繁性要求降低了
  • 打卡等级:以坛为家I
  • 打卡总天数:244
  • 最近打卡:2025-05-01 15:50:20

49

主题

129

回帖

1361

积分

金牌会员

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

1

主题

10

回帖

51

积分

注册会员

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

本版积分规则

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

GMT+8, 2025-5-2 01:41 , Processed in 0.137817 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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