【基于stm32f407应用】DMA模式串口通讯-USART1

目录

原理图

DMA模式

演示例程


原理图

图1:采用芯片 stm32f407vet6

图2:采用使用SP232进行串口通讯,使用PA9/PA10引脚

DMA模式

根据上面原理图,可知使用PA9/PA10进行RS232通讯,查找数据手册后,PA9为发送引脚,PA10为接收引脚。

编写代码:

1、初始化(需要GPIO初始化、USART初始化、NVIC初始化)

完成初始化后,再打开相应的使能(相对于中断模式,在其基础上需要初始化DMA通道)

2、GPIO初始化

使用AF模式引脚

3、USART初始化

115200、8位数据、1个停止位、无校验位

4、NVIC初始化

优先级随意

5、DMA初始化

基于407芯片的标准库这里应该有个bug,normal模式下接收后可能DMA指针不对,,初始化一次,才能接收一次,这里改为circular模式。

6、中断服务函数

中断模式下,接收中断接收字节,空闲中断处理接收的所有字节(发送接收到的所有数据)

7、发送函数

这个模式下,可以一次将数据推送到DMA通道,后续由DMA发送,效率更高。

8、效果演示

发送了两次,第二次时打断点查看接收缓存。

演示例程

14-DMA模式串口通讯-USART1.rar: (访问密码:1666)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫中眸zc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值