我们目前的项目里面有无线开关这么一个功能,那么我们就用到CTM2210LB(接收)和CTM2150L(发送)的模块,接收模块与K210的IO连接
默认CTM2210LB与CTM2150L就可以配对,如果需要修改其他的,需要用烧录器去修改,这里就不详细说如何修改了,因为我自己都没修改过
然后CTM2210LB是标准的EV1527协议,需要使用IO去解
之前想得比较复杂,想着用定时器加外部中断去做,但是仔细想想以及参考了各位博主的资料,最后决定只用定时器就可以搞定
原理其实很简单,就是定一个50us的定时器进去中断,然后查询IO的高低电平,如果为低电平就+1,然后去计算时间
以我这个为例子,低电平的时间:
bit0:500us左右
bit1:200us左右
同步码:6ms左右
这里要注意一点,只要是在中断里面的变量,都需要加volatile,包括修改寄存器之类的,都需要加,不要问我为什么,我不会告诉你们因为没加这个搞了我好几天,后面还是专业大神提醒
其实是这样的,加上volatile之后你的值会及时得到更新,因为读取值是在缓存的,有些时候没及时更新&#x