初级会员

- 积分
- 116
- 金钱
- 116
- 注册时间
- 2015-7-27
- 在线时间
- 21 小时
|
20金钱
大家好,
我初学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(UartRx, &RxChar, &TaskWoken);
xQueueSendFromISR(Event, &Event, &TaskWoken);
}
xTaskResumeAll();
portEND_SWITCHING_ISR(TaskWoken);
}
|
|