当前位置:   article > 正文

再谈STM32F103RBT6-CubeMX-HAL库-UART串口接收中断DMA回调函数代码分析_halku 串口回环

halku 串口回环

建立cubeMX文件,这里只是写出重要设置如下。初级设置请看我博客其他类似保姆级文章。

打开接收中断,设置分组和级别;

生成源代码,之后进行keil中编辑。

添加一个大的接收缓冲区数组。

 在main函数初始化中添加:

HAL_UARTEx_ReceiveToIdle_DMA(&huart1,RxBuff, sizeof(RxBuff));

这行代码的中文解释是:调用 `HAL_UARTEx_ReceiveToIdle_DMA` 函数,以空闲线检测(Idle Line Detection)模式通过 DMA(直接内存访问)接收数据,将数据存储到 `RxBuff` 缓冲区中,直到缓冲区满或者检测到空闲线为止。这里的 `&huart1` 是指向 UART 句柄的指针,表示使用的是 USART1 串口。`RxBuff` 是接收数据的缓冲区,`sizeof(RxBuff)` 表示缓冲区的大小。此函数的作用是非阻塞地接收数据,直到接收到空闲线信号或缓冲区已满,此时会自动停止接收,并通过回调函数处理接收到的数据。

启用DMA中断回调函数:

HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)。

回调内容为接收到什么就发送什么.即回环测试。

代码下载地址:

链接:https://pan.baidu.com/s/16Nc_yGvVWDEIO9RzjQcfow?pwd=rwfu
提取码:rwfu

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/717255
推荐阅读
相关标签
  

闽ICP备14008679号