|
我的解码思路是这样的,两次进入外部中断以后开启定时器,关闭外部中断,第一次进入定时器中断时间是400us,以后都是800us这样就可以对每一位码位进行两次采样。
控制位一位,系统码位5位,数据码位6位。总共12位。一位采样两次。总共24次,正好三个字节。
按照这样的思路第二次进入外部中断开启定时器时,前两次进入定时器中断采样到的数据不要。这样等第二次进入定时器中断时得到的应该是控制位的信息。但是实际解码时,发现必须要等到第四次进入定时器中断时得到的才是控制位。这时解出的码是完全正确的。用第二次进入定时器中断开始采样的话得到的编码最后一位丢失,而在控制位之前还有一个位,我不知道从什么地方得到这个数据的。
这时什么原因。一直没找出来。
还有一个问题,用0038一体化接收头接收到的码是不是和实际的相反??也就是接收到的是1,输出的是0
SAA3010是双相位编码发送。一位的时间是1.688ms.是RC5协议
http://hi.eeworld.net/attachment/201006/13/94846_1276415860gvrg.jpg
|
|