STM32学习(GPIO篇)(套件→B站:江协科技)

GPIO

结构体编译前需定义命名

GPIO_InitTypeDef(空格)GPIO_InitStructure;

八种工作模式

GPIO_Mode_AIN = 0x0,

  GPIO_Mode_IN_FLOATING = 0x04,

  GPIO_Mode_IPD = 0x28,

  GPIO_Mode_IPU = 0x48,

  GPIO_Mode_Out_OD = 0x14,

  GPIO_Mode_Out_PP = 0x10,

  GPIO_Mode_AF_OD = 0x1C,

  GPIO_Mode_AF_PP = 0x18

}GPIOMode_TypeDef;

GPIO_Pin多个定义,双击到定义,member

例子:

PA0--GPIOA--Pin0——

Out_PP GPIOA Pin0----

Mode Pin

(例:PA0口)GPIO初始化:

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_WriteBit(GPIOX,GPIO_Pin_X,Y);

X = A~G; X = 0-15; Y = Bit_SET(设置高电平)/Bit_RESET(设置低电平)

GPIO_SetBits和GPIO_ResetBits无上第三项参数

特别的:若想将bit set和bit reset,高低电平分别以1和0表示,则需加上枚举类型(bitaction),如(BitAction)0---Y位置。

推挽模式下高低电平均有驱动模式

开漏输出模式高电平没有驱动能力;//高阻状态

开漏输出模式低电平有驱动能力。//即能用不能用问题

GPIO

传感器:上拉电阻+下拉电阻

  AO排针输出

数字化输出(电压运算比较器)(二值化输出---LM393)

比较器:

同相>反相:输出max

同相<反相:输出min(二值化)

IN+ —— AO  IN- —— DO(数字输出(二值化))

两点电压

(IN-:分压电压,IN+:上下拉电压,分别作为同相电压和反相电压→比较器→输出阈值)

红圈:指示DO的输出电平

补充寻迹小车模块功能

接法

不同::

按键:按下:低电平输出

      悬空:引脚电压不确定——所以必须用上拉输入的模式只保证下按键接地后输出低电平,防止悬空输出不确定电压(即悬空=输出高电平)

上拉(弹簧):

按键:按下:接地(无穷大力下拉)—— 输出低电平

      不按:上拉电阻 —— 输出高电平  (这里≠悬空)

所以可设置引脚为 浮空或者上拉输入

这里是两个上拉电阻作用,高电平更稳定,低电平时切换损耗更大。

总结

引脚:

上拉输入            上拉/浮空              下拉             下拉/浮空

按键:推荐

按下:低电平              低电平            高电平               高电平

不按:高电平              高电平            低电平               低电平

  • 26
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值