您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > STM32F2技术培训_通用输入输出端口_GPIO
1通用输入输出端口GPIOSameasSTM32L2培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射(STM32F2新增)I/O引脚的8种配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元(STM32F2新增)特殊I/O引脚说明STM32F1和STM32F2的GPIO比较3培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射I/O引脚的8种配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元特殊I/O引脚说明STM32F1和STM32F2的GPIO比较4GPIO引脚分布R(64pin)V(100pin)Z(144pin)I(176pin)PortA(16)3579PortB(16)PortC(16)PortD(16)PD.2PortE(16)PortF(16)PortG(16)PortH(16)PH0/1(OSC)PH0/1(OSC)PH0/1(OSC)PortI(12)总共引脚数目48+1+2=5180+2=82112+2=114128+12=140GPIO占芯片所有引脚的80%左右5GPIO结构框图数字外设数字外设和EVENTOUT复位之后,JTAG引脚是“输入上/下拉”模式,其他I/O引脚默认是“浮空输入”模式,6培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射I/O引脚的8种配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元特殊I/O引脚说明STM32F1和STM32F2的GPIO比较7可变功能复用选择器每个引脚都有一个多路复用选择器来决定哪一个外设功能连到该引脚每个复用选择器有16路输入可供选择AF0:系统功能(复位后复用选择器的默认连接)JTAG/SWD,MCO1/2,RTC_50HzAF1~13:各种数字外设功能AF14:保留AF15:Cortex-M3EVENTOUT每个数字外设功能可以映射到多个I/O引脚具体映射关系参考数据手册(可编程功能映射表格)映射以单个引脚为单位8复用选择器举例PA.8AF0(MCO1)AF1(T1C1)AF2()AF3()AF4(I2C3_SCL)AF5()AF6()AF7(USART1_CK)AF8()AF9()AF10(OTG_FS_SOF)AF11()AF12()AF13()AF14()AF15(EVENTOUT)Pin8AFRH[3:0]9培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射(STM32F2新增)I/O引脚的配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元(STM32F2新增)特殊I/O引脚说明STM32F1和STM32F2的GPIO比较10输入模式解析(MODER=00)根据上下拉电阻是否激活,可以分为浮空输入、上拉输入、下拉输入每个AHB1时钟周期,采样一次I/O引脚上的电平,放入输入数据寄存器读取GPIO_IDR可得到引脚上的电平状态GPIO模块在AHB1总线上①输出驱动关闭②Schmit触发输入激活③上/下拉电阻是否激活取决于GPIOx_PUPDR①②③11GPIO输出模式解析(MODER=01)根据P-MOS是否激活,可分为推挽输出、开漏输出每个AHB1时钟周期,采样一次I/O引脚上的电平,放入输入数据寄存器读取GPIO_IDR可得到引脚的当前电平读取输出数据寄存器GPIO_ODR只能得到上次在推挽模式下输出的值开漏模式下软件写1,I/O引脚电平取决于外部电路①输出驱动使能,推挽/开漏取决于GPIOx_OTYPER②Schmit触发输入激活③上/下拉电阻是否激活取决于GPIOx_PUPDR①②③12可变功能模式解析(MODER=10)输出信号仅来自片上数字外设,根据P-MOS是否激活可分为推挽输出、开漏输出I/O引脚上的信号可以输入到片上数字外设和GPIO_IDR每个AHB1时钟周期采样一次I/O引脚上的电平,放入输入数据寄存器读取GPIO_IDR可得到引脚上的电平状态①输出驱动使能,推挽/开漏取决于GPIOx_OTYPER②输出电路由片上外设驱动③Schmit触发输入激活④上/下拉电阻是否激活取决于GPIOx_PUPDR①②③④13模拟功能模式解析(MODER=11)Schmitt触发器关闭该引脚功耗为0触发器输出强制为常数0读取输入数据寄存器始终得到”0”模拟功能配置下,I/O引脚不是5V容忍①输出驱动关闭②Schmit触发输入关闭③上/下拉电阻被禁止①②③14GPIO引脚模式小结MODER输出信号来自…引脚电平信息输入到…施密特触发器PUPDROTYPER:配置推挽输出或开漏输出OSPEEDR:配置GPIO输出带宽输入模式00GPIO_IDR激活配置内部若上拉、弱下拉或浮空GPIO输出01GPIO_ODRGPIO_IDR复用模式10片上数字外设外设和GPIO_IDR模拟11片上模拟外设:ADC/DACADC/DAC关闭关闭说明:1.灰色填充格,表示对应寄存器无效2.红色框,表示芯片以AHB1时钟频率采样引脚电平状态,放在输入数据寄存器3.蓝色框,只有这两个模式输出驱动被打开,输出信号分别来自输出数据寄存器和片上数字外设,由此才需要配置推挽或开漏输出,以及输出带宽(2MHz、25MHz、50MHz和100MHz)15I/O引脚的使用:外设功能模拟外设ADC/DAC配置成模拟模式GPIOx_MODER=11关闭上/下拉电阻GPIOx_PUPDR=00数字外设配置成复用模式GPIOx_MODER=10选择推挽/开漏、上/下拉和输出速度GPIOx_OTYPER、GPIOx_PUPDR、GPIOx_OSPEEDER配置复用选择器,把使用到的外设连到对应引脚GPIOx_AFRL或者GPIOx_AFRH16I/O引脚的使用:GPIO配置方向输入方向GPIOx_MODER=00输出方向GPIOx_MODER=01对于输入方向配置上/下拉电阻GPIOx_PUPDR对于输出方向选择推挽/开漏、上/下拉和输出速度GPIOx_OTYPER、GPIOx_PUPDR、GPIOx_OSPEEDER17培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射(STM32F2新增)I/O引脚的8种配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元(STM32F2新增)特殊I/O引脚说明STM32F1和STM32F2的GPIO比较18GPIO配置锁定每个寄存器端口上的每个引脚,其配置可被锁定一旦被锁定,该引脚的配置将保持到下次复位锁定的目标寄存器MODER、OTYPER、OSPEEDR、PUPDRAFRL、AFRH寄存器:GPIOx_LCKRLCKi(i=0~15)对应GPIO端口上每个位的上锁LCKK:正确写序列使以上上锁配置生效函数库封装voidGPIO_PinLockConfig(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)19GPIO引脚上锁举例例:对引脚1、5、6的配置上锁LCKR=116|01100010=0x0162LCKR=0|01100010=0x0062LCKR=116|01100010=0x0162读取LCKR读取LCKR必须32位读写20GPIO位操作(1)STM32F1位操作,两个寄存器,只支持字操作GPIOx_BSRR[32]=Bri|Bsi(i=0~15)GPIOx_BRR[32]=Bri(i=0~15)e.g.同时同向togglePA.0和PA.1GPIOA_BSRR=0x03GPIOA_BRR=0x03e.g.同时反向togglePA.0和PA.1GPIOA_BSRR=0x21GPIOA_BSRR=0x12STM32F2位操作,一个寄存器,支持字/半字/字节操作GPIOx_BSRR[32]=Bri|Bsi(i=0~15)e.g.同时同向togglePA.0和PA.1法一:GPIOA_BSRR=0x03GPIOA_BSRR=0x0316多运行一个移位的指令…效率影响…ResetSetReset保留GPIO_BSRRGPIO_BRRResetSetGPIO_BSRR32位写32位写21GPIO位操作(2)法二:利用寄存器可以半字访问的特点:#defineGPIOA_BitSet_ADDR=0xXX#defineGPIOA_BitReset_ADDR=0xXX+2*(u16*)GPIOA_BitSet_ADDR=0x03*(u16*)GPIOA_BitReset_ADDR=0x03e.g同时反向togglePA.0和PA.1GPIOA_BSRR=0x21GPIOA_BSRR=0x12和STM32F1一样ResetSetGPIO_BSRR16位写22I/O补偿单元(CompensationCell)在高速I/O翻转时,根据电压温度(PVT)自动调节I/O的电压转换速率(slewrate)I/O上升沿/下降沿斜率自动调整在50M/100MHz的输出速率配置下推荐使用减小I/O噪声对VDD干扰该特性模式默认关闭的,可通过软件使能CMP_PD@SYSCFG_CMPCRREADY@SYSCFG_CMPCR该特性在低功耗模式下自动关闭,开启消耗电流该特性在VDD在2.4~3.6V情况下才工作23培训内容GPIO引脚分布和结构框图I/O引脚的多路复用选择和映射(STM32F2新增)I/O引脚的8种配置模式输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽输出、开漏输出I/O引脚的特色功能引脚配置锁定引脚上的位操作I/O补偿单元(STM32F2新增)特殊I/O引脚说明STM32F1和STM32F2的GPIO比较24和振荡器引脚复用的I/O引脚OSC32_IN/OUTLSE振荡器关闭时,对应引脚PC.14/15可以作为GPIOLSE功能优先级低于GPIO功能当1.2V区域掉电或者电池备份域由Vbat供电时,这两个引脚不具有GPIO功能OSC_IN/OUTHSE振荡器关闭时,对应引脚PH.0/1可以作为GPIOHSE功能优先级高于GPIO功能STM32F1的OSC_IN/OUT不和GPIO复用不支持EVENTOUT输出功能25属于电池备份域的I/O引脚由PowerSwitch供电,GPIO输出模式功能受限输出速度不超过2MHz,最大负载30pF不能作为电流源(比如,用作驱动LED)首次备份域上电后功能为GPIO,之后取决于RTC寄存器的配置若电池备份域由Vbat供电时,不再具有GPIO功能不支持EVENTOUT输出功能26调试模块占用的I/O引脚JTAG引脚复位后立即被调试器使用MODER=10SPEEDRPUPDPA.15JTDIAlternateFunction2MHzPull-upPA.14JTCK/SWCLKPull-downPA.13JTMS/SWDIOPull-upPB.4NJTRSTPull-upPB.3JTDO100MHzFloating也可关闭JTAG功能,以当作GPIO使用27I/O引脚的5V容忍所有I/O端口,只有以下两个不能5V容忍特殊封装下的两个用于旁路VR的引脚也不能5V容忍其余I/O端口在模拟功能(
本文标题:STM32F2技术培训_通用输入输出端口_GPIO
链接地址:https://www.777doc.com/doc-960548 .html