前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >STM32的HAL库串口空闲中断+DMA丢失

STM32的HAL库串口空闲中断+DMA丢失

作者头像
用户9736681
发布2022-05-11 08:03:14
1.9K0
发布2022-05-11 08:03:14
举报
文章被收录于专栏:嵌入式随笔

前两天使用HAL库的空闲中断+DMA接收串口数据,第一帧会丢失,今天找了下原因。

使能DMA接收用的如下语句,

我把这句话放在了

这里使用的,这个函数是被串口初始化调用的,就是这个函数

就是相当于先开启DMA接收再使能串口。

这样的话HAL_UART_Receive_DMA()这个函数就无法正常运行(他需要

).所以HAL_UART_Receive_DMA()这个函数需要HAL_UART_INIT()之后调用。

我之前之所以想先使能DMA再使能串口,是因为怕先使能串口没来得及使能DMA的时候串口有数据进来的话会触发溢出中断,但是现在没有使能串口接收中断或溢出中断就不用担心这个了,所以改为先使能串口再使用DMA接收数据就可正常接收。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档