Advertisement

STM8S---按键I/O设置及按下事件问题

阅读量:
  • GPIO设置

  • 按键检测

    • 1 连续按键检测短按长按
  • 关键代码

1 GPIO设置

STM8 I/O 口引脚配置表

Px_DDR Px_CR1 Px_CR2 I/O 方式 引脚状态
0 0 0 输入 悬浮输入
0 0 1 输入 上拉输入
0 1 0 输入 中断悬浮输入
0 1 1 输入 中断上拉输入
1 0 0 输出 开漏输出
1 1 0 输出 推挽输出
1 x 1 输出 输出(最快速度为10MHZ)

对STM8S的IO配置,我们只需要操作五个寄存器就行了:

输出端口的数据存储区域(ODR)

  • 输入通道的数据存储区域(IDR)
  • 数据传输方向指示存储单元(DDR)
  • 控制存储单元中的第一条指令(CR1)
  • 控制存储单元中的第二条指令(CR2)

2 按键检测

当进行独立按键检测时, 若采用上拉输入模式, 则无法完成该功能; 而采用中断悬浮输入方式则可正常工作. 两次短按键之间的间隔通常在300到600毫秒之间运行; 每次短按的触发时间一般在14到26毫秒左右.

2.1 连续按键检测(短按+长按)

定时器TIM1 + 按键 = 连续按键检测(短按键+长按键)
两个标记:

  • 短按+长

全部评论 (0)

还没有任何评论哟~