大家好,目前的案子需要用到串口来收发数据,在OS下,操作串口并不那么随意就在中断中写代码;我也看了贵司提供的函数(我看UART HAL层的代码并没有开放);只看到了如下代码,例如
int IoTUartRead(unsigned int id, unsigned char *data, unsigned int dataLen)
{
int ret = -1;
if ((UART_ID)id >= UART_NUM) {
printf("IoTUartRead id=%d error\r\n", id);
return IOT_FAILURE;
}
#if (defined(UART_POLL_MODE))
ret = HAL_UART_Receive_Poll((UART_ID)id, data, dataLen, 1000);
#endif
#if (defined(UART_IT_MODE))
ret = HAL_UART_Receive_IT((UART_ID)id, data, dataLen, 1000);
#endif
#if (defined(UART_DMA_MODE))
ret = HAL_UART_Receive_DMA((UART_ID)id, data, dataLen, 1000);
#endif
return ret;
}
就代码来看
1、这里面有几个宏,,是对3个串口都起作用的
也就是开启中断接收宏,3个串口就都是通过中断接收的
2、接收超时时间设置成了固定的1000ms,这个1000ms能改吗?