近段时间做项目要用到单片机接收433MHz按键发过来的码值,涉及短按、连按、长按,由于之前没有做过这方面一开始有点蒙,找遍网上都没有案例,现在项目完成了整理自己的一些心得和大家分享分享!!!直入主题。。。
1.433MHz码值如下,长按就是一直循环发相同的码值(这一点和红外遥控按键的长按有点区别)
2.程序设计(笔者的使用方案)
(1)将433MHz的解码函数放在中断中接收码值(放在主函数也行),并且程序中要定义一个标志位和一个计数器,例如Flag和num。
(2)当中断正确接收到433按键数据时,就将标志位Flag置1,否则置0;
(3)用一个定时器设定每10ms判断标志位Flag的值,如果判断到Flag等于1,num++,否则num=0; 例如num >= 10(类似普通按键消抖)就可以判定按键按下了,至于代码如何判断短按、连按和长按,这里就不再详细说明,整个思路的精髓是通过Flag标志位让按键的判断回归到普通按键的思路!!!(类似Flag=1按键高电平,Flag=0按键低电平)
 

最新文章

  1. JavaScript中的类型转换
  2. 阅读摘录《javascript 高级程序设计》01
  3. android 7.0变化
  4. NoSQL:从关系型数据库到非关系型数据库
  5. Atitit oodbms的查询,面向对象的sql查询jpa jpql hql
  6. golang和vim-go安装配置
  7. 快速的mysql导入导出数据(load data和outfile)
  8. hdu 2057 A+B
  9. 转:Spring中@Autowired注解、@Resource注解的区别
  10. CodeForces 492B
  11. ExtJS4.2学习(14)基于表格的扩展插件(2)(转)
  12. [Forward]Use the SharePoint My Tasks Web Part outside of My Sites
  13. Triangle 解答
  14. Lua编程入门-学习笔记2
  15. 参考storm中的RotatingMap实现key超时处理
  16. AngularJS继续中
  17. NYOJ--86--set.find()--找球号(一)
  18. 在QT中使用C/C++, 在linux下生成 .so, 并调用 .so
  19. EcustOJ P109跳一跳(离散化+dp)
  20. HTTP Security Header Not Detected未检测到HTTP安全标头

热门文章

  1. 使用c++爬取股市数据,获取最新行情
  2. 在两台配置了Win10操作系统的电脑之间直接拷贝文件
  3. Windows 2008R2 IIS环境配置(靶机)
  4. labelimg使用指南
  5. StringJoiner的使用
  6. NC15979 小q的数列
  7. 用 40 块搞个游戏机「GitHub 热点速览 v.22.27」
  8. arcgis中栅格矢量计算技巧收藏
  9. SQLZOO练习7--Using NULL
  10. 简单易用的任务队列-beanstalkd