arduino知识点梳理(二)——INPUT_PULLUP模式

参考文章1
参考文章2

arduino的引脚模式有三种:

  • INPUT——输入模式
  • OUTPUT——输出模式
  • INPUT_PULLUP——输入上拉模式

Arduino 微控制器自带内部上拉电阻。如果需要使用内部上拉电阻,则应使用pinMode()将引脚设置为输入上拉(INPUT_PULLUP)模式。

  • 上拉电阻
    上拉电阻是当某输入端口未连接设备或处于高阻抗的情况下,一种用于保证输入信号为预期逻辑电平的电阻元件。
    arduino内部上拉电阻电路图.jpg
    在上拉电阻所连接的导线上,如果外部组件未启用,上拉电阻将“微弱地”将输入电压信号“拉高”。当外部组件未连接时,对输入端来说,外部“看上去”就是高阻抗的。这时,通过上拉电阻可以将输入端口处的电压拉高到高电平。如果外部组件启用,它将取消上拉电阻所设置的高电平。通过这样,上拉电阻可以使引脚即使在未连接外部组件的时候也能保持确定的逻辑电平。


    相关帖子
GPIO(通用输入输出)输入-按键检测是嵌入式系统开发中的一个常见应用场景。通过GPIO引脚检测按键状态,可以实现用户与设备的交互。以下是一些关键的知识点: ### 1. GPIO简介 GPIO(General Purpose Input/Output)是一种通用的引脚,可以配置为输入或输出模式。输入模式用于读取外部信号(如按键状态),输出模式用于控制外部设备(如LED指示灯)。 ### 2. 按键检测原理 按键检测的基本原理是通过GPIO引脚读取按键的状态变化。通常,按键连接到一个GPIO引脚,并通过一个上拉电阻或下拉电阻连接到电源或地。 ### 3. 按键去抖动 按键在按下或释放时会产生抖动信号,导致读取的状态不稳定。常见的去抖动方法包括: - **硬件去抖动**:通过电容和电阻组成的RC电路滤除抖动信号。 - **软件去抖动**:在软件中检测到按键状态变化后,延时一段时间再确认状态。 ### 4. 按键扫描 对于多个按键,可以使用矩阵扫描的方法,通过行和列的组合来检测按键状态。矩阵扫描可以减少GPIO引脚的使用数量。 ### 5. 中断方式 为了提高响应速度,可以使用GPIO中断方式检测按键状态变化。当按键状态发生变化时,触发中断服务程序进行处理。 ### 6. 示例代码 以下是一个简单的按键检测示例代码(以Arduino为例): ```cpp const int buttonPin = 2; // 按键连接到数字引脚2 int buttonState = 0; // 当前按键状态 int lastButtonState = 0; // 上一次按键状态 void setup() { pinMode(buttonPin, INPUT_PULLUP); // 配置为输入模式,并启用内部上拉电阻 Serial.begin(9600); // 初始化串口通信 } void loop() { buttonState = digitalRead(buttonPin); // 读取按键状态 if (buttonState != lastButtonState) { // 检测到按键状态变化 delay(50); // 简单去抖动 if (digitalRead(buttonPin) == LOW) { // 按键按下 Serial.println("Button pressed"); } else { // 按键释放 Serial.println("Button released"); } lastButtonState = buttonState; // 更新上一次按键状态 } } ``` ### 7. 注意事项 - **上拉/下拉电阻**:确保按键连接正确,使用内部或外部上拉/下拉电阻。 - **去抖动处理**:根据实际需求选择合适的去抖动方法。 - **中断优先级**:如果使用中断方式,确保中断优先级设置合理,避免中断冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值