27、旋转编码器控制与数据存储技术详解

旋转编码器控制与数据存储技术详解

1. 旋转编码器的状态切换

旋转编码器开关通过按下旋转编码器的杆来激活,用于改变二进制变量的状态,例如打开或关闭 LED。通过记录开关按下的时间,可以区分长按和短按,使开关能够控制具有三个级别的变量,而不仅仅是两个级别。

在代码示例中,旋转编码器开关(SW)引脚使用 ESP8266 或 ESP32 微控制器的内部上拉电阻,而不是在电路中包含单独的电阻。内部上拉电阻通过 pinMode(pin, INPUT_PULLUP) 指令激活,引脚为低电平有效。当旋转编码器开关按下并释放时,引脚状态从高电平变为低电平,然后再变回高电平。

以下是相关代码:

int SWpin = D2;                   // 旋转编码器开关引脚
int SWled = D6;                   // LED 引脚
int longPress = 1000;             // 长按或短按的时间(ms)
int shortPress = 500;
volatile unsigned long newTime, oldTime;
volatile char changeSW;           // loop 和 isr 函数中的变量
volatile unsigned int lagTime;

void setup()
{
  Serial.begin(115200);           // 串口监视器波特率
  pinMode(SWled, OUTPUT);         // 设置 LED 引脚为输出
  pin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值