串口助手 串口打开 程序卡死 停止运行

记录一个蠢蠢的问题。

在调试STM32程序,突然发现只要我在串口助手上打开串口,程序就停止运行了,本来在闪的灯也不闪了。

刚开始根本想不通串口打开跟板子的程序运行会有什么影响。。。

3.3V的电源灯一直是亮着的,手上也没有USB转串口,网上查了一会,只看到说TX和RX短路了就会这样,开始怀疑是板子上的串口芯片坏了,检查之后发现没问题啊。

有点懵逼,无从下手了。

 

先看看开发板原理图吧

连到STM32芯片上的除了RX/TX,就是BOOT0和RESET了。

好吧,恍然大悟。。。

看了一眼串口助手上的两个流控制RST和DTR,果然:

RST不知道啥时候给勾上了,导致一按打开串口,CH340的RST就让单片机保持复位了,程序就停止运行了,灯当然就不闪了。

 

一脸黑线。。。

  • 15
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
串口调试助手关闭FreeRTOS程序停止是因为串口调试助手在与FreeRTOS程序通过串口进行通信时,可能会干扰FreeRTOS任务的运行。当串口调试助手关闭时,与FreeRTOS程序的通信中断,FreeRTOS任务可能无法继续进行。 FreeRTOS是一个实时操作系统内核,通过任务调度来管理多个任务的执行。当串口调试助手与FreeRTOS程序同时通过串口进行通信时,串口调试助手可能会对串口进行占用,从而导致FreeRTOS任务无法及时获取到串口数据。这种情况下,FreeRTOS任务可能会陷入等待状态,导致程序停止运行。 为了解决这个问题,可以采取以下措施: 1. 在设计FreeRTOS程序时,可以采用信号量或互斥量等机制来保护串口资源,确保通信的稳定性。 2. 在编写串口调试助手程序时,可以添加异常处理机制,当与FreeRTOS程序通信中断时,可以优雅地处理异常,而不是直接关闭程序。可以通过捕获异常、重新连接等方式来保证程序的连贯性。 3. 可以优化FreeRTOS任务的执行时间,提高任务的优先级,确保在串口调试助手与FreeRTOS程序通信的过程中,FreeRTOS任务尽快完成,减少任务被阻塞的时间。 总之,串口调试助手关闭会导致FreeRTOS程序停止是因为通信中断导致任务无法继续执行。为了解决这个问题,我们需要在程序设计和编写中考虑串口资源的保护、异常处理和任务优化等问题,从而确保程序的稳定运行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值