硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5327|回复: 3
收起左侧

[技术讨论] 请教两个串口偶尔一个会出现通信失联的情况

[复制链接]

81

主题

1362

回帖

1605

积分

至尊会员

积分
1605
发表于 2020-12-16 09:42:27 | 显示全部楼层 |阅读模式
使用lpc1768,CM3内核的,串口1和pc通信,波特率38400,串口2和g0单片机通信,波特率115200,上电后,串口2一直和g0通信,pc下发数据偶尔会出现单片机没有回复的现象,使用的是modbus协议,一发一回的,请问下, 会不会115200的串口2太频繁了,导致单片机可能接收不到串口1的数据?

我是中断接收的。一次接受一个字节的。两个串口中断优先级都是一样的
回复

使用道具 举报

6

主题

154

回帖

172

积分

初级会员

积分
172
发表于 2020-12-16 10:47:52 | 显示全部楼层
115200波特率下串口中断只接收缓冲数据没问题的,看看是不是在中断中直接做数据处理了
回复

使用道具 举报

356

主题

2180

回帖

3253

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3253
发表于 2020-12-16 11:04:20 | 显示全部楼层
注意,pc的串口通讯在时序上并不是很严格,字节之间可能有断层。 而modbus对字节之间的空隙有要求,可能是pc发的指令字节有断续间隔造成的。可以用示波器监控看看。
主要是pc的串口通讯可以用多种方式实现,语言平台差异大,实时性差异大,需关注。
回复

使用道具 举报

81

主题

1362

回帖

1605

积分

至尊会员

积分
1605
 楼主| 发表于 2020-12-16 11:46:46 | 显示全部楼层
caicaptain2 发表于 2020-12-16 11:04
注意,pc的串口通讯在时序上并不是很严格,字节之间可能有断层。 而modbus对字节之间的空隙有要求,可能是p ...

好的,我暂时测试了,用串口助手代替上位机pc软件,未发现类似现象。lpc1768是100MHz的主频,我感觉115200能够处理过来的,一个字节都需要86us的
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 02:50 , Processed in 0.037361 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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