OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5958|回复: 2

RS485通讯时正在接收数据过程中再开接收中断,会接收到乱码吗?

[复制链接]

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2014-9-11
在线时间
12 小时
发表于 2015-7-21 13:35:08 | 显示全部楼层 |阅读模式
5金钱
RS485通讯时正在接收数据过程中再开接收中断,会接收到乱码吗?

请教三个问题:
1、六台从机stm32由串口经过SP485与一台工控机主机通讯,串口中断接收工控机发送的地址,判断哪一台stm32给工控机传送数据。1台stm32发送数据时,其它5台stm32也会接收这些数据(1台stm32发时,其它5台和工控机也同时收,只有stm32接收到的工控机发送来的地址是有用的,stm32发送的数据对其它的stm32没有用),使得接收的5台stm32很忙。想采用关闭一段时间接收中断的方法,减少stm32无用的数据接收,1台stm32发时,暂时关闭其它stm32的接收中断一段时间,再开接收中断。当有1台stm32正在发送数据时,另一台stm32允许串口接收中断,是否会接收到乱码?

2、关闭接收中断,不再接收无用的数据,该串口仍有数据接收时,看数据手册,好像会产生溢出错误或过载错误(ORE, overrun error),没有复位ORE,将导致后面的数据无法接收。会发生这种情况吗?

3、通过关闭串口功能一段时间,不接收无用字符,串口接收中断不关闭,是否可以解决上面的问题2?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-7-21 23:17:43 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2014-9-11
在线时间
12 小时
 楼主| 发表于 2015-7-22 09:16:33 | 显示全部楼层
看stm32数据手册,有下面的说明:

“当一字符被接收到时,

● RXNE位被置位。它表明移位寄存器的内容被转移到RDR。换句话说,数据已经被接收并且可以被读出(包括与之有关的错误标志)。

● 如果RXNEIE位被设置,产生中断。

如果RXNE还没有被复位,又接收到一个字符,则发生溢出错误。

个人理解,应该不会接收到乱码。不接收,溢出错误可能会发生。
下次到客户现场,实际试试就知道结果了。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 19:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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