HAL库的串口接收不到数据,求指教

2019-12-10 18:16发布

本帖最后由 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
奇怪的,请指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
liuqian
1楼-- · 2019-12-10 23:06
先用cube做个最简单的程序,什么都不要改,验证硬件有没有问题
TANK99
2楼-- · 2019-12-11 03:31
 精彩回答 2  元偷偷看……
TANK99
3楼-- · 2019-12-11 08:45
最好先用示波器看一下,485的接收是否有正确波形,波形正确,那就是软件问题了。
zyqcome
4楼-- · 2019-12-11 12:50
接收发送控制引脚观察一波
cdust
5楼-- · 2019-12-11 18:42
TANK99 发表于 2019-9-22 22:21
最好先用示波器看一下,485的接收是否有正确波形,波形正确,那就是软件问题了。 ...

波形正确。示波器看过了
cdust
6楼-- · 2019-12-11 20:01
liuqian 发表于 2019-9-22 20:32
先用cube做个最简单的程序,什么都不要改,验证硬件有没有问题

基本没有改动,都是加的必须的

一周热门 更多>