首页 STM入门程序解释GPIO

STM入门程序解释GPIO

举报
开通vip

STM入门程序解释GPIOSTM入门程序解释GPIODid接触了STM32的开发板快一周了,拿到板子厂商提供了些DEMO程序,其他想自己学习,看了ST的资料手册,感觉看下来,一个工具还是不知道怎么用,还好现在网络强大,在论坛上可以去找自己需要的资料.我把搜集的资料整理了一下,以及自己加了一些自己的,方便自己以后再用到,方便查找,同时和网友们一起分享,希望你们有什么新的想法也提出来,一起分享.开始吧!嘿嘿简述1STM32的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出)浮空输入_IN_FLOATING带上拉输A.IPU?带下拉...

STM入门程序解释GPIO
STM入门程序解释GPIODid接触了STM32的开发板快一周了,拿到板子厂商提供了些DEMO程序,其他想自己学习,看了ST的 资料 新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 ,感觉看下来,一个工具还是不知道怎么用,还好现在网络强大,在论坛上可以去找自己需要的资料.我把搜集的资料整理了一下,以及自己加了一些自己的,方便自己以后再用到,方便查找,同时和网友们一起分享,希望你们有什么新的想法也提出来,一起分享.开始吧!嘿嘿简述1STM32的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出)浮空输入_IN_FLOATING带上拉输A.IPU?带下拉输入」PD?(所谓上拉就是接一电阻到电源;下拉就是接一电阻到地。也就是说带上拉就是口初始的时候是髙电平,下拉就是低电平。)模拟输A_AIN开漏输出_OUT_OD?推挽输出_OUT_PP复用功能的推挽输出_AF_PP复用功能的开漏输£_AF_ODI/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要髙的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。关键是GPIO的引脚速度跟应用匹配(推荐10倍以上)。比如:对于串口,假如最大波特率只需,那么用2M的GPIO的引脚速度就够了,既省电也噪声小。对于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够T,需要选用50M的GPIO的引脚速度。所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。2?在STM32中如何配置片内外设使用的10端口首先,一个外设经过①配置输入的时钟和②初始化后即被激活(开启);③如果使用该外设的输入输出管脚,则需要配置相应的GPIO端口(否则该外设对应的输入输出管脚可以做普通GPIO管脚使用);④再对外设进行详细配置。对应到外设的输入输出功能有下述三种情况:一、外设对应的管脚为输出:需要根据外围电路的配置选择对应的管脚为复用功能的推挽输出或复用功能的开漏输出。二、外设对应的管脚为输入:则根据外围电路的配置可以选择浮空输入、带上拉输入或带下拉输入。三、ADC对应的管脚:配置管脚为模拟输入。如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。将管脚配置成复用输出功能后,如果外设没有被激活,那么它的输出将不确定。3?通用10端口(GPIO)初始化:GPIO初始化:使能APB2总线外设时钟:释放GPIO复位配置各个PIN端口(模拟输入_AIN、输入浮空_IN_FLOATING、输入上拉」PU、输入下拉_IPD、开漏输出_OUT_OD、推挽式输出_OUT_PP、推挽式复用输出_AF_PP、开漏复用输出_AF_OD)GPIO初始化完成最近刚开始学习STM32,所以从最基本的GPIO开始学起;首先看看STM32的datasheet上对GPIO口的简单介绍:每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx.CRH),两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx.BRR)和一个32位锁定寄存器(GPIOx_LCKR)oGPIO端口的每个位可以由软件分别配置成多种模式。每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。端口位配置CNFx[1:0]=xxb,MODEx[1:0]=xxb再看GPIO功能很强大:通用I/O(GPIO):最最基本的功能,可以驱动LED、可以产生PWM、可以驱动蜂鸣器等等;单独的位设置或位清除:方便软体作业,程序简单。端口配置好以后只需GPIO_SetBits(GPIOx,GPIO_Pin_x)就可以实现对GPIOx的pinx位为高电平;外部中断/唤醒线:端口必须配置成输入模式时,所有端口都有外部中断能力;复用功能(AF):复用功能的端口兼有10功能等。复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式:(CNFx[l:O]二01b,M0DEx[l:0]=00b)o软件重新映射I/O复用功能:为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应的寄存器来完成。这时,复用功能就不再映射到它们的原始引脚上了■锁定机制:当在一个端口位上执行了所定(LOCK)程序,在下一次复位之前,将不能再更改端口位的配置。GPIO基本设置GPIOMode_TypeDefGPIOmode?定义及偏移地址GPIOModeAIN=0x0,.GPIOEGPI0_Pin_X可以选择GPI0_Pin_0,GPI0_Pin_l....这个最好看下STM32的手册,以及自己的硬件电路.常用的GPIO操作函数:uint8_tGPI0_ReadInputDataBit(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin);读GPIO某一位的输入uintl6_tGPI0_ReadInputData(GPI0_TypeDef*GPI0x);读GPIO的输入uint8_tGPI0_Read0utputDataBit(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin);读GPIO某一位的输出uintl6_tGPI0_Read0utputData(GPI0_TypeDef*GPI0x);读GPIO的输出voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin):将GPIO的某个位置位voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin);将GPIO的某个位复位voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin,BitActionBitVal);写GPIO的某个位voidGPIO_Write(GPIO_TypeDef*GPIOx,uintl6_tPortVal);写GPIO再来谈谈一些遇到的小tip在单片机中,可以通过P0「P0來进行位取反,但是stm32中却没有单独的位操作,所以我们可以通过如下代码达到取反目的:GPI0x->0DR'=GPI0_Pin;可以将其写成库函数格式:voidGPIO_PinReverse(GPIO_TypeDef*GPIOx,uintl6_tGPI0_Pin){/*Checktheparameters*/assert_param(IS_GPIO_ALL_PERIPH(GPIOx));assert_param(IS_GPIO_PIN(GPI0_Pin));GPI0x->0DR'=GPI0_Pin;}还可以:GPIO_WriteBit(GPIOA,GPI0_Pin_4,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPI0_Pin_4)));还有其他的方法没想到,希望大家一起分享!好了,今天简单将STM32GPIO的端口介绍整理了下,大部分是网上网友们分享的资料,我只是简单集中了一下•希望大家学习和工作中遇到的以及总结的资料一起分享!
本文档为【STM入门程序解释GPIO】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:32KB
软件:Word
页数:0
分类:
上传时间:2020-05-18
浏览量:4