TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2640r2f 关闭串口导致hardfault

在进入Power_shutdown前,想关闭串口,使用

 UART_readCancel(uart_lora);
 UART_writeCancel(uart_lora);
 UART_close(uart_lora);

程序进入hardfault。

YiKai Chen:

有沒有先確認uart_lora是否為null

Susan Yang:

试试下面的代码:

void UartApp__Close(void)
{ UART_Params uartParams;UART_close(hUART);
/* Call driver init functions */UART_init();
/* Set UART to default parameters. */UART_Params_init(&uartParams);hUART = UART_open(Board_UART0, &uartParams);
if (hUART == NULL){/* UART_open() failed */while (1);}UART_close(hUART);
}

ERIC ZOU:

回复 YiKai Chen:

不为null

ERIC ZOU:

回复 Susan Yang:

第一个UART_close(hUART);会有问题的

YiKai Chen:

回复 ERIC ZOU:

可以貼上你会有问题的代码?

ERIC ZOU:

回复 YiKai Chen:

我发现问题在接收回调函数,回调函数中执行了UART_read(handle, buffer, size);,调用UART_readCancel(uart_lora);后,系统一直重复进入回调函数,导致最后出错。如果是这个问题,那接收回调该怎么设计呢?

赞(0)
未经允许不得转载:TI中文支持网 » cc2640r2f 关闭串口导致hardfault
分享到: 更多 (0)