• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32 串口使能关闭导致程序死掉

珍其所爱 2015-07-15 浏览量:4662
stm32程序中,使用串口发送接收数据,PC端有个串口软件,每10ms间隔发送数据到stm32中,我可不可在程序中关闭中断使能呢,如USART_Cmd(USART1, DISABLE);想在stm32中接收一定数量数据后关闭串口使能,然后到一定时间间隔后再使能串口,不知道可不可以在接收数据的过程中将串口使能关闭;我尝试了下,关闭串口使能后程序重启了(带看门狗),这是为什么呢,有遇到过类似问题的吗,可以交流下
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:4
  • 这样做不好~

    建议楼主弄个计数器,到一定的时间掉丢串口收到的数据;再过一段时间就重新接收

  • 关闭串口使能后程序重启,试试重新计算看门狗的超时时间,在合适的位置喂狗

  • 我认为应该是可以这样做的,只是你没有注意自己的喂狗时间。另外不知道楼主为什么要这样做呢?

  • 谢谢大家了,找到问题所在了,在我关闭串口1使能后,串口仍然会有数据发送,但是在发送时我这里有句话while(USART_GetFlagStatus(USARTx,USART_FLAG_TC)!=0);然后就死这了,当时看门狗设置时间为1s,1s后就重启了。

相关问题

问题达人换一批

stm32 串口使能关闭导致程序死掉