STM32学习(STM32芯片与GPIO)
1.芯片有哪些资源STM32F407ZGT6 资源描述内核:32位高新能ARM Cortex-M4处理器;时钟:高达168MHZ,实际还可以超频一点点;支持FPU(浮点运算)和DSP指令。IO口:STM32F407ZGT6:144引脚 114个IO;大部分IO都耐5V(模拟通道除外);支持调试:SWD和JTAG,SWD只要两个数据线。存储器容量:1024KFLASH,192KSRAM;时钟,复位和
1.芯片有哪些资源

STM32F407ZGT6 资源描述
内核:32位高性能ARM Cortex-M4处理器;时钟:高达168MHZ,实际还可以超频一点点;支持FPU(浮点运算)和DSP指令。
IO口:STM32F407ZGT6:144引脚 114个IO;大部分IO都耐5V(模拟通道除外);支持调试:SWD和JTAG,SWD只要两个数据线。
存储器容量:1024KFLASH,192KSRAM;
时钟,复位和电源管理:1.8V—3.6V电源和IO电压;上电复位,掉电复位和可编程的电压监控;强大的时钟系统:4~26MHZ的外部高速晶振;内部16MHZ的高速RC振荡器;内部32KHZ低俗RC振荡器,看门狗时钟;内部锁相环(PLL,倍频),一般系统时钟都是外部或者高速时钟经过PLL倍频后得到;外部低速32.768K的晶振,主要做RTC时钟源。
低功耗:睡眠,停止和待机三种低功耗模式;可用电池为RTC和备份寄存器供电。
AD:
3个12位AD(多达24个外部测量通道);内部通道可以用于(内部温度测量);内置参考电压。
DA:2个12位DA;
DMA:16个DMA通道,带FIFO和突发支持;支持外设:定时器,ADC,DAC,ADIO,I2S,SPI,I2C和USART。
定时器:10个通用定时器;2个基本定时器;2个高级定时器;1个系统定时器;2个看门狗定时器。
通信接口:3个I2C接口 ;6个串口 ;3个SPI接口 ;2个CAN2.0 ;2个USB OTG ;1个SDIO。
2.芯片内部结构


3.STM32F4最小系统
MCU

供电 复位

BOOT启动模式选择

下载电路


后备电池 时钟(外部晶振两个)


4.GPIO基本结构和工作方式

STM32F407ZGT6 一共有7组IO口 ,每组IO口有16个IO ,一共16X7=112个IO 外加2个PH0和PH1 一共114个IO口 。(GPIOA,GPIOB---GPIOG PH0,PH1)

STM32的大部分引脚除了当GPIO使用外,还可以复用为外设功能引脚(比如串口)。
工作方式
4种输入模式:输入浮空 、输入上拉 、输入下拉 、模拟输入; 4种输出模式:开漏输出(带上拉或者下拉)、开漏复用功能(带上拉或者下拉)、 推挽式输出(带上拉或者下拉)、推挽式复用功能(带上拉或者下拉) ;4种最大输出速度:2MHZ、25MHz、50MHz、100MHz;
输入浮空模式

输入上拉模式

输入下拉模式

模拟模式

开漏输出模式

开漏复用输出模式

推挽输出模式

推挽复用输出模式

上电复位后,GPIO默认为浮空状态,部分特殊功能引脚为特定状态。
推挽输出:可以输出强高低电平,连接数字器件 。
开漏输出: 只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)
5. GPIO相关配置寄存器
每组IO口含下面10个寄存器。也就是10个寄存器, 一共可以控制一组GPIO的16个IO口。
端口模式寄存器(GPIOx_MODER)

端口输出类型寄存器(GPIOx_OTYPER)

端口输出速度寄存器(GPIOx_OSPEEDR)

端口上拉/下拉寄存器(GPIOx_PUPDR)
端口输入数据寄存器(GPIOx_IDR)

端口输出数据寄存器(GPIOx_ODR)

端口置位/复位寄存器(GPIOx_BSRR)

端口配置锁存寄存器(GPIOx_LCKR)


端口复用功能低位寄存器(GPIOx_AFRL)

STM32F4的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚,比如PA9,PA10可以复用为STM32F4的串口1引脚。 作用:最大限度的利用端口资源。
所有IO口都可以作为中断输入
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)