STM32 DMA和I/O端口

DMA ;

  • 7通道DMA控制器
  • 支持外设;定时器,ADC,SPI,I2C,USART。
    **7通道的意思是 ;先不用知道(手动狗头)。
DMA主要用途;

上一篇讲过,DMA帮助我们把ADC的数据直接放入SRAM中,方便我们后续读取和操作。DMA属于CPU小帮手,不用CPU的参与下就能够把数据存下来,或者传输到其他地方。

数据手册;

灵活的7路通用DMA可以管理在存储器到存储器,设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区管理,避免了控制器传输到达缓冲区结尾时所产生的中断。
每个通道都有专门的硬件DMA请求逻辑,同时可以有软件触发每个通道;传输长度,传输的源地址和目标地址都可以通过软件单独设置。
DMA可以用于主要的外设;SPI,I2C,USART,通用基本和高级定时器TIMx和ADC。
在这里插入图片描述

多达80个快速I/O端口;

  • 26/37/51/80个I/O口,所有的I/O可以映像到16个外部中断;几乎所有端口均可兼容5V信号。
  • 中断-- 可以让单片机暂停当前的工作,去处理一个别的事情。
数据手册中;

GPIO;
每个GPIO引脚都可以有软件配置成输出(推挽/开漏),输入(带或不带上拉或下拉)或复用的外设功能端口,多数GPIO引脚都与数字或模拟的复用外设共用。除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。
在需要的情况下,I/O引脚的外设功能可以通过一个特定操作锁定,以避免意外的写入I/O寄存器。在APB2上的I/O引脚可大18MHz的翻转速度。

大电流多大?
APB2是内部通信总线。

typedef enum 
{
   GPIO_Mode_AIN = 0x0               // 模拟输入
   GPIO_Mode_IN_FLOATING=0x04        // 浮空输入
   GPIO_Mode_IPD = 0x28              // 下拉输入
   GPIO_Mode_IPU = 0x48              // 上拉输入
   GPIO_Mode_OUT_OD = 0x14           // 开漏输出
   GPIO_Mode_OUT_PP = 0x10           // 推挽输出
   GPIO_Mode_AF_OD = 0x1c            // 复用开漏输出
   GPIO_Mode_AF_PP = 0x18            // 复用推挽输出
   
}GPIO_Mode_Init
————————————————
版权声明:本文为CSDN博主「小王 -挺忙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50212958/article/details/114949453

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小王 -挺忙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值