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
————————————————
版权声明:本文为优快云博主「小王 -挺忙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50212958/article/details/114949453