这是核心算法,编码发送:
void fashu(uchar num)
{
khz(116);/*发射3ms 38khz ,告诉对端,t1后将有信号到达,准备好接收*/
delayms(125); //延时时间t1
for(num1=8;num1>0;num1--)
{
khz(40); // 发射38khz信号
if(num&0x01) //判断num是否为奇数
delayms(93); //delay 1.5ms
else
delayms(65); //delay 1ms
num=num>>1;
}
khz(20);
}
将num按位发送,比如num=214 二进制是1101 0110,发送的时候不是奇数,延时1ms,然后num按位右移,变成0110 1011 ,最低位是1 ,延时1.5 ms ,这样通过延时间隔将数据编码发送到对端
这是c语言啊,意思是判断一群数字里那个 是奇数
单片机C语言。