采用如下方式发送数据
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
USART_SendData(USART1, version[i]);
会产生硬件错误,不知为何。
当时正是从IAP启动到simserver的应用程序,需要发送程序版本号,此时所按上述顺序发送数据则硬件出错或一直死等,直到狗重启。
将两句语句顺序调换则OK。
本文描述了在使用USART发送数据时遇到的一个硬件错误问题。当按照特定顺序发送数据时,系统会出现错误或陷入死锁状态,调整发送语句的顺序可以解决此问题。
采用如下方式发送数据
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
USART_SendData(USART1, version[i]);
会产生硬件错误,不知为何。
当时正是从IAP启动到simserver的应用程序,需要发送程序版本号,此时所按上述顺序发送数据则硬件出错或一直死等,直到狗重启。
将两句语句顺序调换则OK。

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