背景
使用STM32L103系列芯片,使用内部EE存放数据(不经常修改),在测试过程中出现串口接受数据不完全的问题,丢包。
原因分析
查看芯片手册发现,内部EE是flash模拟出来的,在写数据之前的时候会禁用中断,写完后开启中断,如果在中途串口有数据接收,数据会丢失。只有在写完后串口才会恢复正常。
解决方案
在使用内部EE的时候,一定要避开频繁的写入,一般固化一些固定的数据,在生产的时候写入一些常量,出厂后就禁止使用内部EE。
在使用STM32L103系列芯片时,由于其内部EE是通过Flash模拟的,写入数据会临时禁用中断,可能导致串口数据丢失。为避免串口丢包,建议尽量减少内部EE的频繁写入,特别是在生产阶段一次性写入固定数据,并在出厂后禁止进一步写操作。
使用STM32L103系列芯片,使用内部EE存放数据(不经常修改),在测试过程中出现串口接受数据不完全的问题,丢包。
查看芯片手册发现,内部EE是flash模拟出来的,在写数据之前的时候会禁用中断,写完后开启中断,如果在中途串口有数据接收,数据会丢失。只有在写完后串口才会恢复正常。
在使用内部EE的时候,一定要避开频繁的写入,一般固化一些固定的数据,在生产的时候写入一些常量,出厂后就禁止使用内部EE。
2887

被折叠的 条评论
为什么被折叠?
