你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请问数据传输时串口死掉有什么办法检测吗?

[复制链接]
beary 提问时间:2016-1-21 10:08 /
大家好,
我初学stm32,,现在是用两个stm32使用蓝牙芯片做数据传输,通过串口输数据,直接传输到另一个蓝牙,通过另一个蓝牙的串口显示出来,
现在在做压力测试,不过有时候跑了几天就会死掉,发送的那个就是死掉的那个,死了以后再在PC的串口工具上上输什么都不会传输过去了,直接死了

请问是不是可以用看门狗复位(请问是不是用独立看门狗?)或者有什么其他方式可以检测到串口死吗?

串口的中断回调是这样的

void USART1_IRQHandler(void)
{
  portBASE_TYPE TaskWoken = pdFALSE;
        vTaskSuspendAll();
  if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
  {
    unsigned char RxChar;
    unsigned char Event  = DEMO_EVENT_UART_RX;

    RxChar = USART_ReceiveData(USART1);
    xQueueSendFromISR(gattdQueueHandleUartRx, &RxChar, &TaskWoken);
    xQueueSendFromISR(gattdQueueHandleEvent, &Event, &TaskWoken);     /* signal event to GATTDEMO task */
        }
        xTaskResumeAll();
  portEND_SWITCHING_ISR(TaskWoken);
}




收藏 评论1 发布时间:2016-1-21 10:08

举报

1个回答
Dylan疾风闪电 回答时间:2016-1-21 10:20:25
1、对于死机的那块主控制板,往串口中断处理函数里面放一个IO的反转操作。
2、然后从控制板去捕获这个IO反转,一旦超出固定时间仍然接收不到新的反转,就视为主控制板故障了。
3、这时从控制板向PC的串口助手上发送ERROR信息。
-------------------------------------------------------------------------------
以上只是治标不治本,你关键是要找出死机的原因。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版