打印
[应用相关]

[转]漫谈stm32 gpio

[复制链接]
440|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shashaa|  楼主 | 2016-11-29 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网上看到的一遍**,觉的不错,分享给大家
单片的输入输出不叫GPIO,仅仅是个io,稍微复杂点的就是串口,至于后面那些增强的1t的带da的单片机,都不属于入门学习范围.那些东西都是为了低成本而存在,对学习没有任何作用.只要初学者入门了,所有片内外设都非常简单的搞定.本文是一片基础学习**.入门者的精神食粮.


    理解gpio不仅仅是会配置寄存器,因为好多人根本不知道寄存器如何配置.如果不信的话那回答我这个问题,stm32的io频率到底该配置成多少Mhz?


    上面这张图是来自stm32的中文版手册.我对这些模块进行了简单的标注.下面我就从外到内进行分析信号的流向以及每一部分存在/屏蔽的意义.


   先看上半部分,就是io的I,input,输入功能.信号从io引脚流入,首先被保护二极管q/r进行钳位.那就举一个例子,假定vdd是3.3v,那么二极管有0.7v的压降,那么io引脚的高电平就不能超过3.3+0.7v=4v只要超过4v那么就会有很大的电流从保护二极管流过,信号的内阻就会承担比较大的电压,使io引脚的电压最高钳位到4v.上面分析的是对于过高的电平.q二极管导通.r二极管关闭,所以不用分析.对于io出现负电压,这个时候q二极管是关闭的需要分析下面的r二极管.r二极管保持io引脚电平不低于vss-0.7v.至于为什么会出现这种情况,暂时不做分析,如果你看过示波器的振铃信号.就明白了.给大家留一个问题,如何消除振铃信号?
    对于正常的数字信号,就进入了o/p电阻的控制范围.上下拉电阻的作用又是什么,什么时候需要上下拉? 上拉电阻就是在信号和vdd直接接引ig电阻,经验值在10k左右.对于一个5v的信号,能够最大提供0.5ma的电流.首先聊一个开漏输出,就是iic使用的信号.这种信号的两个状态是Z高阻态和0低电平,无法提供高电平的.加入一个上拉电阻,就能在z态的时候,信号线为高电平vdd, 0态的时候信号线为0.上拉电阻承担整个vdd电压.也就是说z态的时候上拉电阻无电流通过,功耗基本为0,而0态的时候上拉电阻功率为vdd*vdd/r,在低功耗设计的时候这一个电阻的功耗需要考虑.默认状态需要保持电阻在功耗0的状态.当然对于stm32这种片内控制的上下拉,直接关掉,让其浮空.就会降低功耗.但是有可能信号也失去了意义无法唤醒cpu.慎重严肃考虑.上拉电阻的意义就是给总线灌入一定电流,提高总线从0到1跳变的速度.有些信号驱动能力不足的时候,会提供信号的高电平驱动能力.包括电压和电流.相反,减缓了下降沿的速度,降低了低电平的驱动能力.在设计的时候多用欧姆定律计算.包括功耗.电阻究竟该用多大.
沙发
feiqi1| | 2016-11-29 20:29 | 只看该作者
其实这里的每一个元件都有意思,否则 2个电阻2个二极管就不需要写上面的两大段了

使用特权

评论回复
板凳
androidbus| | 2016-11-29 20:30 | 只看该作者
话说名称是ttl肖特基触发器,不就是个带门限的触发器嘛

使用特权

评论回复
地板
litengg| | 2016-11-29 20:39 | 只看该作者
对于GPIO的o, output,就从左向右进行分析.首先是信号的生成,其一是寄存器,由cpu来操作.e和f共两种操作,e是单次操作只能设置寄存器的某些位为1,或者清除某些位为0。

使用特权

评论回复
5
qiangweii| | 2016-11-29 20:40 | 只看该作者
如果对于控制输出和m/n两个管子共同生成高低电平的切换

使用特权

评论回复
6
xia00| | 2016-11-29 20:47 | 只看该作者
对于电机桥电路来说.就是直接烧坏驱动芯片.做输出的时候,上下拉电阻都是断开的.

使用特权

评论回复
7
hfdy01| | 2016-11-29 20:50 | 只看该作者
我提出一个问题,虽然是输出,信号会过充吗?

使用特权

评论回复
8
boy1990| | 2016-11-29 20:59 | 只看该作者
io频率在48M的时候,波形可能已经不是漂亮的方波了呢.

使用特权

评论回复
9
天灵灵地灵灵| | 2016-11-29 22:32 | 只看该作者
如果不是十分了解GPIO特性可以用库函数做,一定要看库函数的说明,,用哪个函数,一定看清上面的说明文字。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

1494

帖子

6

粉丝