找回密码
 立即注册
楼主: 芯LYS

帮网友答疑解惑ing

[复制链接]

0

主题

11

回帖

74

积分

注册会员

积分
74
发表于 2023-2-6 22:04:45 | 显示全部楼层
感谢各位的回贴,回复 LAOXU   串口助手,9600  上电复位后,我发送02 01 00 FF 单片机会回复02 01 02 01 02 01 02 01(和发送速度无关,我纯手工点的,试多次也是一样的,他回复我8个字节) 正常应回复前面4个,现在我在主程序中40MS延迟后,回复都正常,接收也正常,并不是您说的掉数据,
我回复的4个语句放在if(EnterTag)中,就说明,接到了4个字节,而且也是02开头的,就算是有问题,也只会回复4个字节,
回复 chen  您说的静态变量有点道理,我试下, 其实我也是有前缀的,02开头被接收,FF结尾,除非那干扰就是02,不然是不会影响数组数据的。
回复

使用道具 举报 送花

0

主题

11

回帖

74

积分

注册会员

积分
74
发表于 2023-2-6 22:40:59 | 显示全部楼层
回复 chen  我刚才试下,中断里改成全局变量就OK,那延时加不加都没有关系了,确实是中断重复定义局部变量的问题,您这一说就明白是什么一回事了,非常感谢!!!
回复

使用道具 举报 送花

50

主题

1276

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-2-7 19:19:18 | 显示全部楼层
梁*** 发表于 2023-2-6 15:26
串口都要用中断方式收发,特别是接收。比如115200的波特率,86.8us中断一次,进中断读SBUF保存在接收数组 ...

没用的,

10几年前的事, 用的 AT89C51, 用串口中断, 9600 就掉数据,

分析原因, PC机传输速度太快了, 51只有一个SBUF, 没有接收缓冲区

点评

我90年代就开始用8031用于工控,115200波特率都不会丢数据,如果这个MCU用9600都丢数据,几十年前它就不会存在于市场。当年的8031、Z80、6502,三分天下。 9600都丢数据,一定要仔细查查自己的程序了。  详情 回复 发表于 2023-2-7 20:08
回复

使用道具 举报 送花

50

主题

1276

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-2-7 19:24:50 | 显示全部楼层
现在的单片机, 速度比以前快了约十倍, 估计要好多了.

最后强调一下, 通过品usb转串口的, 实际通讯速率(平均速率)都有所下降.
回复

使用道具 举报 送花

83

主题

8219

回帖

1万

积分

超级版主

积分
17644
发表于 2023-2-7 20:08:35 | 显示全部楼层
LAO*** 发表于 2023-2-7 19:19
没用的,

10几年前的事, 用的 AT89C51, 用串口中断, 9600 就掉数据,

我90年代就开始用8031用于工控,115200波特率都不会丢数据,如果这个MCU用9600都丢数据,几十年前它就不会存在于市场。当年的8031、Z80、6502,三分天下。

9600都丢数据,一定要仔细查查自己的程序了。
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25122
发表于 2023-2-7 20:20:45 | 显示全部楼层
STC32G12K128, STC8H8K64U, STC8A8K64D4 等新款 8051,都有 DMA 支持4组串口,
====谁不用DMA, 谁自己拿自己开心,DMA 支持串口, 6M bps 太轻松
1.png
2.png
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25122
发表于 2023-2-7 20:28:10 | 显示全部楼层
STC15F2K60S2如嫌慢,有 STC15H2K64S4-36I-LQFP44/LQFP32, 同频,速度快 80%
STC15H2K64S4的资料见STC8G系列的资料

1.png

2.png
3.png
4.png
5.png

回复

使用道具 举报 送花

50

主题

1276

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-2-11 07:24:15 | 显示全部楼层
梁*** 发表于 2023-2-7 20:08
我90年代就开始用8031用于工控,115200波特率都不会丢数据,如果这个MCU用9600都丢数据,几十年前它就不 ...

这个不用争了, 确实存在!!!

一个老司机可能犯错, 数个老司机集中攻关, 怎可能犯低级错误?

当时用于电力系统, 上位机PC, 制作功能单一的 RS232toRS232 模块, 用以解决通讯掉数据问题.

由于年代较早, 那时的电力系统监控通讯, 估计还没有用到通讯校验.

最后说一下, 上位PC和下位控制系统, 都是用全米进口的(电力局有钱,国家投资)

回复

使用道具 举报 送花

50

主题

1276

回帖

5513

积分

荣誉版主

积分
5513
发表于 2023-2-11 07:28:32 | 显示全部楼层
用全米进口的上/下系统(不是一家公司的), 在通讯时, 一天有时会丢几次数据,  所以加了 RS232toRS232 模块, 以确保可靠性
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-23 15:03 , Processed in 0.085672 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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