网站开发语言为wap,wordpress vps建站,内江市建设培训中心网站,安全狗网站白名单指什么文章目录 1 GPIO介绍2 GPIO的工作模式2.1 浮空输入2.2 上拉输入2.3 下拉输入2.4 模拟输入2.5 开漏输出2.6 推挽输出2.7 复用开漏输出2.8 复用推挽输出2.9 其他 3 应用方式4 常用库函数 1 GPIO介绍 保护二极管#xff1a;保护引脚#xff0c;让引脚的电压位于正常的范围施密特… 文章目录 1 GPIO介绍2 GPIO的工作模式2.1 浮空输入2.2 上拉输入2.3 下拉输入2.4 模拟输入2.5 开漏输出2.6 推挽输出2.7 复用开漏输出2.8 复用推挽输出2.9 其他 3 应用方式4 常用库函数 1 GPIO介绍 保护二极管保护引脚让引脚的电压位于正常的范围施密特触发器将外部的模拟信号转换为数字信号上/下拉电阻通过控制开关可以设置输入引脚的默认电平状态输入数据寄存器外部引脚电平转换为数字信号后保存到输入数据寄存器然后由内部处理器读取输出数据寄存器内部处理器将数据写入输出数据寄存器然后通过输出控制电路输出到外部引脚位设置/清除寄存器该寄存器用于修改输出数据寄存器中的某一位的值
2 GPIO的工作模式
2.1 浮空输入 数据流向电压直接由GPIO引脚通过施密特触发器转化为高低电平后将数据存储到输入数据寄存器中微处理器就可以读取输入寄存器的数据。
特点处于该模式的GPIO口未接外设处于悬空状态时引脚的电平是不确定的此时读取输入寄存器的值是不确定的。
2.2 上拉输入 与浮空输入的区别在于上拉输入模式下上拉电阻上方的开关会闭合I/O端口的电压就会Vdd小一点也就是说当引脚属于悬空状态时引脚默认是高电平。
数据流向与浮空输入相同。
特点当输入引脚悬空时输入是高电平。
2.3 下拉输入 与浮空输入的区别在于上拉输入模式下上拉电阻上方的开关会闭合I/O端口的电压就会Vss大一点也就是说当引脚属于悬空状态时引脚默认是低电平。
数据流向与浮空输入相同。
特点当输入引脚悬空时输入是低电平。
2.4 模拟输入 浮空输入、上拉输入、下拉输入模式下输入的都是数字信号而模拟输入是直接将外部的模拟信号输入因此上拉电阻、下拉电阻、施密特触发器的开关都会断开输入引脚的电平直接到内部。
数据流量外部端口引脚直接连接到内部进行模拟输入。
特点用于模拟信号的输入。
注意只有ADC和DAC需要将IO端口配置为模拟通道其他外设功能需要将IO配置为复用功能模式。
2.5 开漏输出 数据流向处理器将数据写入输出数据寄存器写入过程中可以通过位设置/清除寄存器(BSRR)修改单个位的数据输出数据寄存器中的数据通过输出控制电路然后通过N-MOS管到达外部输出引脚。同时外部引脚的电平还可以通过浮空输入模式读取。
特点当输出数据0时N-MOS管导通输出低电平当输出数据1时N-MOS管截止输出引脚为高阻态(如果需要输出高电平需要外接上拉电阻)。
2.6 推挽输出 特点当输出数据0时输出低电平当输出1时输出高电平。开关速度快负载能力强是最常使用的输出模式。
2.7 复用开漏输出 特点与开漏输出的区别是复用开漏输出是从片上外设输出。
2.8 复用推挽输出 特点与推挽输出的区别是复用推挽输出是从片上外设输出串口通信中经常使用复用推挽输出。
2.9 其他
上电复位后GPIO引脚默认为浮空状态部分特殊引脚为特定状态。
3 应用方式
普通GPIO输入配置引脚为浮空输入、上拉输入、下拉输入不使能该引脚的复用功能模块。普通GPIO输出配置引脚为推挽输出、开漏输出不使能该引脚的复用功能模块。模拟输入配置引脚为模拟输入不使能该引脚的复用功能模块。内置外设的输入配置该引脚为浮空输入、上拉输入、下拉输入使能该引脚的复用功能模块。内置外设的输出配置该引脚为复用推挽输出、复用开漏输出使能该引脚的复用功能模块。
注常规使用GPIO时输出通常使用推挽输出输入则使用上拉输入或者下拉输入具体需要根据外部器件的电路确定。
4 常用库函数
GPIO_Init初始化GPIO_ReadInputDataBit/GPIO_ReadInputData读取某个口的输入电平实际读取的就是输入数据寄存器的值GPIO_ReadOutputDataBit/GPIO_ReadOutputData读取某个口的输出电平实际读取的就是输出数据寄存器的值GPIO_SetBits设置某个口输出高电平实际操作的是位设置寄存器GPIO_ResetBits设置某个口输出低电平实际操作菜单是位清除寄存器