版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等GPIO简介GPIOPA组PB组PC组PD组PE组PF组PG组PA0~PA15PB0~PB15PC0~PC15PD0~PD15PE0~PE15PF0~PF15PG0~PG1516个引脚16个引脚16个引脚16个引脚16个引脚16个引脚16个引脚
STM32F103系列微控制器共有7组GPIO端口,每一组端口包括16个引脚,如PA组端口,包括PA0~PA15共16个引脚。GPIO内部结构GPIOA寄存器驱动器PA0PA1PA2PA15………………GPIOB寄存器驱动器PB0PB1PB2PB15……………………APB2GPIO内部结构配置寄存器(32位)GPIOx_CRLGPIOx_CRH数据寄存器(32位)GPIOx_IDRGPIOx_ODR置位/复位寄存器(16位)GPIOx_BSRR复位寄存器GPIOx_BRR锁定寄存器(32位)GPIOx_LCKRCR15[3:0]CR14[3:0]CR13[3:0]CR12[3:0]CR11[3:0]CR10[3:0]CR9[3:0]CR8[3:0]CR7[3:0]CR6[3:0]CR5[3:0]CR4[3:0]CR3[3:0]CR2[3:0]CR1[3:0]CR0[3:0]GP
IOx(x=A..G)ODR15ODR14ODR13ODR12ODR11ODR10ODR9ODR8ODR7ODR6ODR5ODR4ODR3ODR2ODR1ODR0IDR15IDR14IDR13IDR12IDR11IDR10IDR9IDR8IDR7IDR6IDR5IDR4IDR3IDR2IDR1IDR0GP
IOx_ODR(OutputDataRegister)输出数据寄存器GP
IOx_IDR(InputDataRegister)输入数据寄存器Px0Px1
Px2
Px3
Px4
Px5
Px6
Px7
Px8
Px9
Px10
Px11
Px12
Px13
Px14
Px15GP
IOx_CR(ConfigRegister)配置寄存器GPIO基本结构GPIO模式模式名称性质特征浮空输入(Inputfloating)数字输入可读取引脚电平,若引脚悬空,则电平不确定上拉输入(Inputpull-up)数字输入可读取引脚电平,内部连接上拉电阻,悬空时默认高电平下拉输入(Inputpull-down)数字输入可读取引脚电平,内部连接下拉电阻,悬空时默认低电平模拟输入(Analog)模拟输入GPIO无效,引脚直接接入内部ADC开漏输出(Outputopen-drain)数字输出可输出引脚电平,高电平为高阻态,低电平接VSS推挽输出(Outputpush-pull)数字输出可输出引脚电平,高电平接VDD,低电平接VSS复用开漏输出(Alternatefunctionopen-drain)数字输出由片上外设控制,高电平为高阻态,低电平接VSS复用推挽输出(Alternatefunctionpush-pull)数字输出由片上外设控制,高电平接VDD,低电平接VSS通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式浮空/上拉/下拉输入施密特触发器原理输入VTH
VTL输出
10输出0
输入输出有两个稳态对于输入负向递减和正向递增有不同的门限施密特触发器1
VTL
VTH浮空/上拉/下拉输入下面的按键电路GPIO该配置成什么模式?模拟输入开漏/推挽输出VddP-MOSN-MOSVssVddP-MOSN-MOSVssG-
Gate栅极D-
Drain
漏极S-
Source
源极交替导通0-
N闭合,
P断开1-
N断开,
P闭合开漏推挽P-MOS断开开漏输出能够方便的实现“逻辑与”功能利用外部电路的驱动能力,减少芯片内部的驱动通过上拉电阻实现5V输出,完成电平匹配功能开漏/推挽输出下面的电路应该配置成什么模式?复用开漏/推挽输出GPIO的最大输出速度应该如何选择最大输出速度?原则:选择满足要求的最小值场景2:USB-FullSpeed
(全速)场景1:驱动LED250ns最大输出速度=2MHz0
50
10015020025030035040045050ns最大输出速度=10MHz0
255075
100125
150
1752002255ns
10ns
5ns最大输出速度=50MHz0
102030405060708090功耗增加125ns125ns25ns25ns500250100GPIO的HAL库操作函数类型函数原型功能描述初始化及复位函数HAL_GPIO_Init()GPIO初始化函数HAL_GPIO_DeInit()复位选定的端口引脚到初始状态引脚功能操作函数HAL_GPIO_ReadPin()读取选定的端口引脚的电平状态HAL_GPIO_WritePin()设置选定的端口引脚输出高电平或低电平HAL_GPIO_TogglePin()设置选定端口引脚的电平状态翻转HAL_GPIO_LockPin()锁定引脚配置,而不是锁定引脚的输入或输出状态HAL_GPIO_EXTI_IRQHandler()外部中断处理函数HAL_GPIO_EXTI_Callback()中断回调函数示例1:阻塞方式实现LED闪烁功能描述:利用两个GPIO引脚输出高、低电平控制两个发光二极管,并按一定时间间隔改变IO引脚电平,达到灯光闪烁的效果。(省略了限流电阻)示例2:非阻塞方式实现LED灯闪烁HAL_Delay()函数是阻塞式的,即CPU在等待期间无法执行其他任务。因此,在处理实时任务或对执行速度有较高要求的应用中,应谨慎使用此函数。在这些情况下,可以考虑使用其他非阻塞式延迟方法,如使用计时器事件或基于RTOS(实时操作系统)的定时器。在HAL库中,我们可以利用内核外设SysTick实现延时,同时可以不阻塞(non-block)程序运行。SysTick定时器的寄存器有4个,分别为控制和状态(CTRL)寄存器、重装值(LOAD)寄存器、当前值(VAL)寄存器和定时校验(CALIB)寄存器。当SysTick定时器配置为默认的1KHz时,uwTick就会每隔1ms加1,不断累加记录整个系统的运行时间。因此,我们可以把uwTick称为系统时间。示例2非阻塞方式实现点灯效果while(1)
{
staticuint32_ttemp1
=0; //临时变量,用于记录当前系统时间staticuint32_ttemp2=0;
if(HAL_GetTick()>=temp1
+1000){ //延时1000ms HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_0); //LED1状态翻转
temp1
=HAL_GetTick(); //更新为当前时间
}
if(HAL_GetTick()>=temp2
+1000){ //延时1000ms HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_1); //LED2状态翻转
temp2
=HAL_GetTick(); //更新为当前时间
}
}蓝桥杯考点分析第7届LED状态显示第8届LED状态显示:用4个LED组成流水灯,先从左向右依次点灯,执行10次,然后反方向从右向左点灯,也执行10次。按键按键:常见的输入设备,按下导通,松手断开按键的电路设计外接上拉电阻内部上拉电阻内部下拉内部上拉3.3V3.3V按键消抖按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《生物反应器》课件
- 《抛开世俗的追求》课件
- 《汇编语言程序格式》课件
- 2026医疗影像AI辅助诊断系统审批政策演变趋势分析报告
- 教育系统及校园安全
- 2026汽车租赁企业经营模式竞争态势研究发展评估报告
- 手足口病防控2026年培训教育
- 光谱法在DNA与金属配合物相互作用的研究方面的应
- 期刊文献数据库检索第六节Elsevier电子期刊数据库
- 2026跨国卡车品牌本土化战略与供应链本土化及市场渗透率提升研究
- 中国临床肿瘤学会(CSCO)胃癌诊疗指南(2026版)
- 湖南省长沙市2026-2027学年高二上学期第一次月考物理自编卷01(人教版必修一、二、三9-11单元)(含答案)
- 2026年硕士研究生《306临床医学综合能力(西医)》试题
- 二年级(上)语文生字课课贴250字
- 小学主题班会课件:语言表达
- 《决策树与智能推理》教学课件-2025-2026学年人教版初中信息技术(人工智能专册)
- SHS 01038-2019包装机维护检修规程
- 2026广发银行秋季校园招聘笔试历年典型考题及考点剖析附带答案详解
- 养老护理员环境及物品清洁培训
- 安全员c2考试试题及答案详解
- 水电自动装置高级工技能鉴定理论考试题库(含答案)
评论
0/150
提交评论