欧阳小麟 发表于 2019-10-14 09:51:56

stm8L151F3写EEPROM时,无法进行串口数据接收

在使用STM8L151F3时,写EEPROM的数据过程中,发现无法执行串口中断数据的接收,不知道这种是否正常。有什么办法可以解决的吗?

butterflyspring 发表于 2019-10-14 18:58:21

这个系列小容量产品不支持RWW功能,也就是一边读一边写的功能。就是烧录EEPROM时,没办法响应中断。一般这时候紧急的程序可以放在RAM中,但是比较有难度(RAM也比较小). 从手册上看有DMA功能,试试用DMA收串口数据到RAM中去,理论上和程序空间没关系。但是DMA中断会延时一会儿,不影响收数据。:)

wenyangzeng 发表于 2019-10-14 11:26:18

如果写EEPROM一半时退出会出现写失败。所以写的过程应该禁止其他中断。

mikecai 发表于 2019-10-14 16:51:52

1)中断处理尽量占用少时间,数据丢到缓冲区就行,不要在里面解析处理发送数据;
2)读写EEPROM 要用硬件I2C通讯;同时不要禁止 串口相关中断。

欧阳小麟 发表于 2019-10-14 18:00:54

mikecai 发表于 2019-10-14 16:51
1)中断处理尽量占用少时间,数据丢到缓冲区就行,不要在里面解析处理发送数据;
2)读写EEPROM 要用硬件I2 ...

写的是STM8L片内的EEPROM,所有没有I2C的说法

欧阳小麟 发表于 2019-10-14 18:02:02

wenyangzeng 发表于 2019-10-14 11:26
如果写EEPROM一半时退出会出现写失败。所以写的过程应该禁止其他中断。

关闭其他中断不就无法进行串口的数据接收,如果再写EEPROM的过程中,有数据的到来,不就收不到了
页: [1]
查看完整版本: stm8L151F3写EEPROM时,无法进行串口数据接收