打印

串口接收延迟问题

[复制链接]
2179|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bjorn|  楼主 | 2016-8-19 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用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的串口管脚直接相连,没有使用串口转换芯片。

相关帖子

沙发
Thorald| | 2016-8-19 10:11 | 只看该作者
接收端写入寄存器是不是做了延迟导致的?

使用特权

评论回复
板凳
Soraka| | 2016-8-19 10:56 | 只看该作者
串口的发送是自动的,必须检测发送完成标志才能置位标识。

使用特权

评论回复
地板
dirtwillfly| | 2016-8-19 20:37 | 只看该作者
使用msp430的内置串口模块进行串口通讯时,对于程序来说,只是把数据放到串口发送缓存寄存器,然后由硬件自动发送出去。这个过程会有一个延迟。

对于9600波特率,大约1mS多一点才能发送一个字节。

使用特权

评论回复
5
smilingangel| | 2016-8-19 22:22 | 只看该作者
这个注意信号的电平的就可以的。

使用特权

评论回复
6
smilingangel| | 2016-8-19 22:26 | 只看该作者
串口接收延迟?具体是怎样的呢

使用特权

评论回复
7
robter| | 2016-8-20 07:33 | 只看该作者
串口发送接收都用延时应该能解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

113

主题

757

帖子

3

粉丝