[应用相关] stm32编码器信号干扰

[复制链接]
1066|14
 楼主| elephant00 发表于 2022-1-19 10:48 | 显示全部楼层 |阅读模式
STM8写EEPROM时UART接收中断为什么发生过载错误?UART_SR的OR置位。
不写EEPROM时串口中断接收数据正常。
LcwSwust 发表于 2022-1-19 11:14 | 显示全部楼层
STM8我不了解,但我用过的单片机在写内部EEPROM(flash)时CPU会停止,扇区擦除会较为费时,可能导致这期间中断无法响应,串口数据可能丢失。
呐咯密密 发表于 2022-1-21 11:43 | 显示全部楼层
在写MCU内部FLASH时不要进行任何中断操作,会被终止的。
redone 发表于 2022-1-26 10:21 | 显示全部楼层
程序逻辑改一下,
分开独立进行
海滨消消 发表于 2022-1-26 15:37 来自手机 | 显示全部楼层
改一下程序逻辑
B1lanche 发表于 2022-1-26 17:12 | 显示全部楼层
没遇到过,是不是优先级的事儿呢
Candic12e 发表于 2022-1-26 17:26 | 显示全部楼层
正常来说,也是你先收到数据,再进行存储数据操作么?
Annie556 发表于 2022-1-26 17:37 | 显示全部楼层
感觉是程序的问题吧,你再好好检测一下程序吧
Charlotte夏 发表于 2022-1-26 17:58 | 显示全部楼层
可能是你写存储的时候,抢占了串口的优先级?
Betty1299 发表于 2022-1-26 19:02 | 显示全部楼层
这个你可以分开操作的吧,串口接收完之后再写数据呗
Emily999 发表于 2022-1-26 19:07 | 显示全部楼层
你可以这样,把串口接受到的数据放到一个buf里,然后再进行数据处理
alxd 发表于 2022-1-26 19:11 | 显示全部楼层
没遇到过这情况,感觉就是你程序逻辑的事儿
Belle1257 发表于 2022-1-26 19:28 | 显示全部楼层
你可以先进行串口收数据,把数据存起来,然后收完之后进行数据处理和存储数据
yangjiaxu 发表于 2022-1-26 21:11 | 显示全部楼层
既然不写存储的时候串口接收数据正常,那么你让这俩行为分开就好啦
Carmen7 发表于 2022-1-26 21:17 | 显示全部楼层
可能是你写存储的时间比较长吧,导致的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

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