STM32的GPIO输出学习(1)

GPIO(General Purpose Input Output)通用输入输出口,共可以配置八种输入输出模式

引脚电平:0~3.3V,部分引脚输入时可以忍受5V的电压,需查看用户手册来判断是否支持该功能,带有FT(Five Tolerate)的可以容忍5V

GPIO的基本结构

APB2外设总线连接着GPIOx,以下以GPIOA为例子,GPIOA中包含寄存器,驱动器以及引脚三部分。

寄存器的每一位对应着一个引脚,输出寄存器输出1,对应引脚输出高电平;输出0,对应低电平。每一个GPIOx都有16个引脚,如GPIOA,分别对应PA0,PA1......PA14,PA15。STM32寄存器有32位,只有低16位用于端口的输出,而高16位处于闲置状态,未能使用

驱动器:用于增加信号驱动能力,寄存器需要通过它才能发出足够强的信号使引脚产生效果

 GPIO位结构

首先从输入设备开始

1.IO引脚接入两个保护二极管,上面计入VDD,3.3V,下面接入VSS,0V,如果IO引脚接入的电压高于3.3V,则上侧二极管导通,将电流引走,防止电流进入电路,造成电路电流过大导致的电路受损。如果输入电压小于0V,则下侧保护二极管导通,防止电路电流被吸走,从而起到保护电路的作用。

2.上接与下拉电阻

可通过程序控制这两个电阻开关,从而实现输入模式的改变。

上侧导通,下侧断开,就是上接输入模式;上侧断开,下侧导通,即是下接输入模式;如果两个都断开,就是浮空输入模式。但是如果使用浮空输入模式时引脚不接入电压,则电路电压极易受到外界干扰,处于一种浮空的状态。而单片机一般会判断“高”或“低”两种状态(类似早期计算机灯亮与不亮两种状态),这种浮空状态会导致输入数据不稳定。未解决这种问题,则需要加入上拉或者下拉电阻。

3.肖特基触发器(正确翻译为施密特触发器)

是将外部电路输入的模拟信号转换为数字信号,故而前面连的线为模拟输入,后面连的线为复用功能输入。工作原理是设定两个阈值,分为高阈值与低阈值,如果最开始施密特触发器为低电平,则在输入电流高于高阈值之前,向寄存器发射的都是低电平的信号,直到电流高于高阈值;同理,在到达高阈值后,在电流低于低阈值之前,输出的信号都是高电平的信号。这种设计是为了保证输入信号的稳定性,防止随时变更。

4.将数字信号写入输入数据寄存器

5.模拟输入:

连接到ADC线上,ADC需要接受模拟量,计入施密特触发器之前。现阶段不学

6.复用功能输入:

连接到其他需要读取端口的外设上,比如串口的输入引脚,接受数字信号,故而在施密特触发器后

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值