串口接收延迟问题

[复制链接]
1062|8
 楼主| Stannis 发表于 2016-9-20 20:19 | 显示全部楼层 |阅读模式
我使用MSP430F149发送数据,MSP430F2132接收149发送来的数据,通讯波特率为9600,149的P3.6和2132的P2.2相连,我的通讯格式是:149 要发送数据前先将P3.6设置为高电平,表示要发送数据,当发送完成时立即拉低P3.6,表示数据发送完成;2132 作为接收方(使用中断方式接收),当检测到与149连接的管脚P2.2为高时才会将接收寄存器UCA0RXBUF数据存入相应数据中。

        在实际使用上述方式会出现一个问题,2132无法接收到149最后发来的两字节(byte)的数据;后来我让149串口发送完成后延时3ms再拉低P3.6管脚,2132即可接收全部数据(延时2ms还有一个字节数据无法接收),怎么会出现这样的问题,能不能解释一下

注:为了减少延迟,我将149和2132的串口管脚直接相连,没有使用串口转换芯片。
Rangar 发表于 2016-9-20 20:34 | 显示全部楼层
接收端写入寄存器是不是做了延迟导致的
Thor9 发表于 2016-9-20 20:59 | 显示全部楼层
串口的发送是自动的,必须检测发送完成标志才能置位标识。
Rollo 发表于 2016-9-20 21:23 | 显示全部楼层
是不是你这边发送了,但是接收端不是第一时间写入,有一个反应时间,之后发送端第一时间关闭,接收端也立即关闭,这样造成的有最后数据丢失的现象。
823461883 发表于 2016-9-21 08:37 | 显示全部楼层
第一次看到有人这么用串口。。。
minzisc 发表于 2016-9-21 23:03 | 显示全部楼层
这个发送和接受信号同步了吗?
minzisc 发表于 2016-9-21 23:04 | 显示全部楼层
信号时钟可能存在延迟吧。
chuntian2016 发表于 2016-9-23 20:52 | 显示全部楼层
这个是认为的造成了信号的延迟了吧,等到你响应的去读取数据的,早就翻篇了吧
vivilzb1985 发表于 2016-9-25 12:35 | 显示全部楼层
管脚直连的话也是可以的,只要电平上能匹配就OK的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

721

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部