STM32F051擦写内部FLAHS期间,串口中断产生系统死机

问:

MCU在擦写FLASH期间,如果有串口中断产生,系统会发生死机!貌似不符合手册中说明-在对FLASH进行写/擦除操作的同时,任何对FLASH的访问都会令总线停顿,直到写/擦除操作完成后才会继续执行. 于是,又就开了个定时器中断,系统并没有死机!符合手册中的说明! 但问题是,为什么期间有串口中断就死机呢?按照手册中的说明应该不会啊!希望高手们给你指导!谢谢!


最佳答案:擦除时间过长串口接收数据丢失,产生ORE中断了,不停得进出串口中断,但是没有清ORE中断。假死机现象。。

回答者:jy04706985 回答时间:2016-09-12

答:应该是串口的问题。 你把对FLSAH关了,对串口操作看看会不会死机

回答者:oktigerxia 回答时间:2016-09-07

答:谢谢!后来调试把问题定位到了,是产生ORE中断!没有清除中断标志位,导致系统假死!因为,在擦除Flash期间,MCU会进行相应的取址操作,导致串口的RDR寄存的值没有被拿走,就会产生ORE中断!

回答者:lilu 回答时间:2016-09-26

答:感谢两位,也解决了我的问题,这个ORE中断真伤,,真没注意到它是开启的,,,

回答者:zsusu 回答时间:2016-10-12
posted @ 2017-03-20 16:11  smilingfrog  阅读(1557)  评论(0)    收藏  举报