1.关于433MHz按键单片机解码
2024-10-20 20:46:57
近段时间做项目要用到单片机接收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按键低电平)
最新文章
- JavaScript中的类型转换
- 阅读摘录《javascript 高级程序设计》01
- android 7.0变化
- NoSQL:从关系型数据库到非关系型数据库
- Atitit oodbms的查询,面向对象的sql查询jpa jpql hql
- golang和vim-go安装配置
- 快速的mysql导入导出数据(load data和outfile)
- hdu 2057 A+B
- 转:Spring中@Autowired注解、@Resource注解的区别
- CodeForces 492B
- ExtJS4.2学习(14)基于表格的扩展插件(2)(转)
- [Forward]Use the SharePoint My Tasks Web Part outside of My Sites
- Triangle 解答
- Lua编程入门-学习笔记2
- 参考storm中的RotatingMap实现key超时处理
- AngularJS继续中
- NYOJ--86--set.find()--找球号(一)
- 在QT中使用C/C++, 在linux下生成 .so, 并调用 .so
- EcustOJ P109跳一跳(离散化+dp)
- HTTP Security Header Not Detected未检测到HTTP安全标头