旋转编码器控制与数据存储技术详解
旋转编码器的状态切换与计数控制
状态切换原理
旋转编码器开关通过按下编码器的杆来激活,可用于改变二进制变量的状态,例如控制 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 引脚为输出
pinMode
旋转编码器与EEPROM技术详解
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



