本帖最后由 cdust 于 2019-9-22 16:32 编辑
使用CUBEMX,目的是接受485发来的几个数字,然后解析下。按照下面的方式,但是接受不到数据
CUBEMX,USART3,开启dma,接收使用循环模式,9600,8,1停,无
程序:
uint8_t aRxBuffer[20]; //接收缓存
if(HAL_UART_Receive_DMA(&huart3, (uint8_t *)aRxBuffer, 4) != HAL_OK)//main函数while(1)前,启动一次DMA接收HAL_ERROR
{
Error_Handler();
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart==&huart3)
{
angle = (uint16_t)(aRxBuffer[0] >> 16)+(uint16_t)(aRxBuffer[1] >> 24);
dis = (uint16_t)(aRxBuffer[2] >> 8)+(uint16_t)aRxBuffer[3];
}
}
但是监控没有进入void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)。
整体参考的是
http://www.stmcu.org.cn/module/forum/thread-614657-1-1.html
奇怪的,请指教
一周热门 更多>