按照stm32F10x flash编程手册的标准擦除方法进行擦除,在对flash->CR寄存器STRT位置1后,查询flash->SR的BSY位,等待其被清0.
我碰到的问题是: CR寄存器STRT位置1操作持续6ms,6ms后擦除操作完成,再查询flash->SR的BSY位已没有意义。在CR寄存器STRT位置1操作的6ms中,定时中断无法进入,整个系统似乎被CR寄存器STRT位置1操作完全占用,连中断请求都被屏蔽。
我进行的flash操作完全按照手册规定进行,包括lock, unlock等。所有flash的擦除和编程操作结果都正确,只是擦除和编程操作中定时中断无法进入,进而跟踪分析发现:flash->CR寄存器STRT位置1操作占用6ms,并屏蔽中断。
请问各位大虾,如何能够让我在flash擦除编程中可以进入定时中断?? |