1、发送和接收功能使用到的函数
发送的函数:①HAL_UART_Transmit(UART_HandleTypeDef *haurt, const uint8_t *pData, uint16_t Size)
②HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uintt8_t *pData, uint16_t Size)
接收的函数:①HAL_UART_Receive_IT(UART_HandleTypeDef *huart, unit8_t *pData, uint16_t PyCharm2024.1.4激活码 Size)
②HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
2、DMA的作用,DMA+空闲中断的使用方式
作用:直接存储器(DMA)用来提供在外设和存储器之间或者存储器之间的高数据传输。
使用DMA可以减轻CPU的负担,提升CPU资源利用率
DMA传输数据比较快适用于处理图片、视频、音频等数据量较大的场合
DMA空闲中断:串口在一段时间(发送一个字节的数据的时间后)后一直没有数据到达就会产生一个空闲中断。无论发送多长的数据再间隔一段时间后都会产生空闲中断,产生了空闲中断就知道已经接收完成了一次数据,在中断中就可以去处理这一次数据
-
配置DMA控制器:首先,需要配置DMA控制器以指定数据传输的方向(读取或写入)、传输的数据大小、源地址和目的地址等参数。
-
启用DMA传输:在准备好数据和目标存储器之后,启动DMA传输。这将触发DMA控制器开始数据传输操作,而不需要CPU的直接参与。
-
等待DMA传输完成:一旦DMA传输启动,CPU可以继续执行其他任务。通常,空闲中断用于在DMA传输完成时通知CPU。这样,CPU可以及时知道何时可以访问传输的数据。
-
处理DMA传输完成中断:在收到空闲中断后,CPU可以执行相关的处理程序来处理传输的数据或执行其他必要的操作。
3、使用PWM+ADC光敏电阻完成光控灯的实验
代码:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/164416.html