




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32GPIO的总结(超强)1GPI0A、GPI0B、GPI0C对应的外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPI0ARCC_APB2Periph_GPI0B|RCC_APB2Periph_GPI0C,ENABLE);2GPIO_InitStructureGPIO_InitTypeDefGPIO_InitStructure;3GPIO/*GPIO8、9管脚位,中间加符号*/GPIO_InitStructure.GPI0 Pin=GPI0_Pin_7|GPI0_Pin_8|GPI0_Pin_9;4、设置选中GPIO:/*GPIO率为最高速率2MHz*/GPIO_InitStructure,GPIO_Speed=GPIO_Speed_2MHz;〃最高速率2MHz5、设置选中GPIO管脚的模式例如:/*设置选中GPIO管脚的模式为开漏输出模式*/GPIO_InitStructure、GPIO_Mode GP10_Mode_0ut_OD"/开漏输出模式6、根据GPI()_InitStructure中指定的参数初始化外设 例如:/*根据GPIO_InitStructure中指定的参数初始化外设*/GPIO_Init(GPIOC,&GPIO_InitStructure);7、其他应用例:将端口GPIOA的第10、15脚置1(高电平)GPIO_SetBits(GPIOA,GPI0_Pin_10GPI0_Pin」5);例:将端口GPIOA的第10、15脚置0(低电平)GPI()_ResetBits(GPIOA,GPI0_Pin_10|GPIO_Pin」5);GPIO寄存器:寄存器描述CRL端CR1IIDRBSRR/BRRLCKREVCRMAPRI/OEXTICR0-15GPIO函数名描述GPIO_DeInit将外设GPIOx寄存器重设为缺省 值GPIO_AFIODeInit将复用功能(重映射事件控制和EXTI设置)重设为缺省值GPIO_Init根据GPIOJnitStruct中指定的参 数初始化外GPIOx寄存器GPIO_StructInit把GPIO_InitStruct中的每一个参数按缺省值填入 GPIO_ReadInputDataBit读取指定端口管脚的输入GPIO_ReadInputData 读 取 指 定 的 GPIO 端 口 输 GPIO_ReadOutputDataBit 读取指定端口管脚的输出GPIO_ReadOutputData读取指定的GPIO端口输出GPIO_SetBits设置指定的数据端口位 GPIO_ResetBits清除指定的数据端口位GPIOJVriteBit设置或者清除指定的数据端口位GPIOJVrite向指GPIO数据端口写入数据GPIO.PinLockConfig锁定GPIO管脚设置存器GPIO_EventOutputConfig选择GPIO管脚用作事件 输GPIO_EventOutputCmd使能或者失能事件输出GPIO_PinRemapConfig改变指定管脚的映射GPIO_EXTILineConfig选择GPIO管脚用作外部中断线路库函数:函数GPIO_DeInit功能描述:将外设GPIOx寄存器重设为缺省值例:GPIO_DeInit(GPIOA);GPIO_AFIODeInit功能描述: 将复用功能(重映射事件控制和EXTI设置)重设为缺省值例GPIO_AFIODeInit();函数 GPIO_Init 功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器例:GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure^GPIO Pin=GPIO_Pin_All;GPIO_InitStructure^GPIO_Speed=GPI0_Speed_10MHz ;GPI0_Mode_IN_FLOATING
GPIO_InitStructure.;
GPIO_Mode =GPIO_Init(GPIOA,&GPIO_InitStructure) ;GPIO_InitTypeDef定义于文件
GPIO_InitTypeDefustm32f1Ox_gpioh”
structuretypedefstruct{ul6GPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;GPIO_PinGPIO用操作符“I”可以一次选中多个管脚。可以使用下表中的任意组合。GPIO_Pin_NoneGPIO_Pin_xx(0—15)GPIO_Pin_AllGPIO_SpeedGPIO_SpeedGPIO_Speed_2MUz2MHzGPI0_Speed_50Mllz出速率50MHzGPIOJfodeGPIOJIode态。GPIO_Mode_AIN:模拟输入GP10_Mode_IN_FLOATING:浮空输入GPIO_Mode_IPD:下拉输入GPIO_Mode_IPU:上拉输入GPI0_Mode_0ut_0D:开漏输出GPI0_Mode_0ut_PP:推挽输出GPI0_Mode_AF_0D:复用开漏输出GPIO_Mode_AF_PP:复用推挽输出函数GPIO_StructInit功能描述:把GPIO_InitStruct中的每一个参数按缺省值填入例:GPIO_InitT5^peDefGPIO_InitStructure;GPIO_StructInit(&GPIO_InitStructure);GPIO_InitStruct:GPI0 Pin:GPIO_Pin_AllGPIO_Speed:GPI0_Speed_2MHzGPIOJfode:GPIO_Mode_IN_FLOATING函数GPIO_ReadInputDataBitReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPI0_Pin_7GPIO_ReadInputData端口输入例:ul6ReadValue;ReadValue二GPIO_ReadInputData(GPIOC);函数GPIO_Read()utputDataBit功能描述:读取指定端口管脚的输出例:u8ReadValue;ReadValue=GPIO_ReadOutputDataBit(GPIOB,GPI0_Pin_7);函数GPIO_ReadOutputDataGPIOReadValue;ReadValue=GPIO_ReadOutputData(GPIOC);函数GPIO_SetBits将端口GPIOA的第10、15脚置1(高电平)GPIO_SetBits(GPIOA,GPI0_Pin_10IGPI0_Pin」5);GPIO_ResetBits口位例:将端口GPIOA10、15脚置0(低电平)GPIO_ResetBits(GPIOA,GPI0_Pin_10|GPIO_Pin_15);函数GPIO_WriteBit功能描述:设置或者清除指定的数据端口位例:GPIOJVriteBit(GPIOA,GPIO_Pin_15,Bit_SET);函数GPIOJVrite功能描述:向指定GPIO数据端口写入数据例:GPIOJVrite(GPIOA,0x1101);函数GPIO_PinLockConfig功能描述:锁定GPIO管脚设置寄存器例:GPIO_PinLockConfig(GPIOA,GPIO_Pin_OGPIO_Pin_l);函数GPIO_EventOutputConfig功能描述:选择GPIO管脚用作事件输出例:GPIO_EventOutputConfig(GPI()_PortSourceGPIOE,GPI0_PinSource5);GPIO_PortSourceGPIO_PortSource用以选择用作事件输出的GPIO端口。函数GPIO_EventOutputCmd功能描述:使能或者失能事件输出例:GPIO_EventOutputConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);GPIO_EventOutputCmd(ENABLE);函数GP10_PinRemapConfig功能描述:改变指定管脚的映射例:GPI0_PinRemapConfig(GPI0_Remap_I2Cl,ENABLE);一、GPIO述1、共有8种模式,可以通过编程选择:1、浮空输入2、带上拉输入3、带下拉输入4、模拟输入5、开漏输出(此模式可实现hotpower说的真双向10)6、推挽输出7、复用功能的推挽输出878决定。2(GPIOx_BSRRGPIOI/OI/O3GPI0口都可以作为外部中断的输入,便于系统灵活设计。4、I/O3(2MHz、10MHz50MHz)I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。4、14、1、1对于串口,假如最大波特率只需1152k2MGPIO4、1、212c400k大些,那么用2MGPI010MGPI04、1、3对于SPI接口,假如使用18M或9M波特率,用10M GPI0的引脚速度显然不够了,需要选用50M的GPI0的引脚速度。42GPI0出速度配置无意义。43成浮空输入模式。4、4所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。4、5GPI0口的配置具有上锁功能,当配置好GPI0口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。5I/OCMOSTTLI/O5v6、大电流驱动能力:GPIO口在高低电平分别为0、4V和O,4V8mA到1、3V和VDD-1、3V时,可以提供或吸收20mA电流。7、具有独立的唤醒I/O口。8、很多I/O口的复用功能可以重新映射。9GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合直到下次芯片复位才能解锁此功能非常有利于在程序跑飞的情况下保护系统中其他的设备,不会因为 某些I/O口的配置被改变而损坏如一个输入口变成输出口并输出电流二推挽结构一般是指两个三极管分别受两互补信号的控 制,总是在一个三极管导通的时候另一个截止要实现线与需要用OC(opencollector)门电路如果输出级的有两个三极管始终处于一个导通一个截止的状态也就是两个三级管推挽相连这样的电路结构称为推拉式电路或图腾柱(Totem-pole)输出电路(可惜图无法贴上)当输出低电平时也就是下级负载门输入低电平时输出端的电流将是下级门灌入T4;当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经T3D1拉出。这样一来,输出高低电平时一路和T4一路将交替工作从而减低了功耗提高了每个管的承受能力又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速 度很快因此推拉式输出级既提高电路的负载能力又提高开关速度供你参考。推挽电路是两个参数相同的三极管或 MOSFET,以推挽方式存在于电路中各负责正负半周的波形放大任务电路工作时两只对的功率开关管每次只有一个导通,所以导通损耗小效率高。输出既可以向负载灌电流,也可以从负载抽取电流三、开漏电(opendrain)MOSFETMOSFET漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。组成开漏形式的电路有以下几个特点:1、利用外部电路的驱动能力,减少IC内部的驱动。当ICMOSFETVCCRpull-up,MOSFETGND。IC1。2、可以将多个开漏输出的Pin,连接到一条线上。形成“与逻1,PIN_A、PIN_B、PIN_C0了。这也I2C,SMBus3、可以利用改变上拉电源的电压,改变传输电平。如图2,IC的VcclVcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。4Pin(51P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑)。5、标准的开漏脚一般只有输出的能力。添加其它的判断电 路才能具备双向输入、输出的能力。应用中需注意:1、开漏和开集的原理类似,在许多应用中我们利用开集电路代Pin驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省3。2『upPush-Pull输出就是一CMOSCMOS输出更合适,应CMOSpush-pullICNPpush—pullICpull是现在CMOS电路里面用得最多的输出级设计方式。a191rm9200GPI012c0C、0D0C0D)open-drain(open-collector)输出,ttl(oc)open-drainmosopen-collector开漏形式的电路有以下几个特点:1IC片电源电压高的负载、2、可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。 这也是I2C,SMBus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻接容性负载时下降延是芯片内的晶体管是有源驱动,速度较快;上升延是无源的外接电阻速度慢。如果要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅炉辅机检修工技能比武考核试卷及答案
- 铁合金火法冶炼工设备调试考核试卷及答案
- 元宇宙创意产业商业模式创新-洞察及研究
- 变压器设备检修工培训考核试卷及答案
- 铌铁火法冶炼工岗前考核试卷及答案
- 数字货币的匿名性与安全性研究-洞察及研究
- 第6课 红杜鹃教学设计-2025-2026学年初中美术赣美版七年级下册-赣美版
- 11大家排好队 教学设计-2023-2024学年道德与法治二年级上册统编版
- 生活垃圾堆肥操作工作业指导书
- 2025年电子多晶硅行业研究报告及未来行业发展趋势预测
- 浙江名校协作体(G12)2025年9月2026届高三返校联考物理(含答案)
- 廉租房承包物业合同范本
- 中小学心理健康c证考试试题及答案
- 2025-2026秋季中小学第一学期升旗仪式22周校长演讲稿:第1周 烽火记忆照前路秋风为序启新程
- 污水厂工艺知识培训课件
- 2025秋人教部编版二年级上册语文教学计划
- 科学护肤知识课件
- 2025年黑龙江全国导游人员资格考试(全国导游基础知识、地方导游基础知识)历年参考题库含答案详解(5套)
- 分级护理落实率
- DB4419T 23-2024 建设工程施工无废工地管理规范
- 幼儿园改造提升项目可行性研究报告
评论
0/150
提交评论