研究了两天cube就发现一个问题,HAL库中UART的操作,有DMA和IT两种方式,发送数据时没有问题,接收数据时的函数
HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
和HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, RXBUFFERSIZE)中都必须提供接收个数这个参数,接收时谁能确定究竟是收多少个,这个参数没法提供,那这就没法用了,改他的HAL也不是好办法,这就决定了cube这个东西没法用了.
有碰到这个问题的吗,想用cube,但是诸如此类的问题解决不了就没法用啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你这个是不错,为什么非得添加一个:
/*让串口信号量耗尽*/
while(osOK != osSemaphoreWait(uc1sem_id,0));
直接设置这个信号量可用就行了。
一周热门 更多>