很多时候,在我们编写RF射频编码时,为了能够更好的接收‘发送数据,往往会用到数据的编码。 而曼切斯特就是其中之一。
这种编码方式,对于简单的单片机非常实用。只需一个定时器就可以将数码接收、发送。
代码如下:
1 unsigned int manchester_encoding(unsigned char dat) 2 { 3 unsigned int manchester_out=0; 4 unsigned char i=0; 5 for(i=0;i<7;i++) 6 { 7 if(dat&0x80) 8 { 9 manchester_out+=1; 10 manchester_out<<=1; 11 manchester_out<<=1; 12 } 13 else 14 { 15 manchester_out<<=1; 16 manchester_out+=1; 17 manchester_out<<=1; 18 } 19 dat<<=1; 20 } 21 if(dat&0x80) 22 { 23 manchester_out+=1; 24 manchester_out<<=1; 25 } 26 else 27 { 28 manchester_out<<=1; 29 manchester_out|=1; 30 } 31 return manchester_out; 32 }
Thanks.
B.R.