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口都可以作为中断输入  

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐