manchester encode

Miko, Imre imre.miko at siemens.com
Tue Dec 12 12:22:55 CET 2006


Szia,

Ezt egy PIC-es progibol olloztam, de mivel C, ezert konnyen tudod adaptalni:

//================================================================
int16 man_encode(int unenc) {
//================================================================
   int odd_byte,even_byte,temp;

   odd_byte=unenc&0xAA;
   temp=(~unenc&0xAA)>>1;
   odd_byte=odd_byte|temp;

   even_byte=unenc&0x55;
   temp=(~unenc&0x55)<<1;
   even_byte=even_byte|temp;
   return((int16)odd_byte<<8)|even_byte;
}

//================================================================
int man_decode(int16 enc) {
//================================================================
   int odd_byte,even_byte;

   odd_byte=(int)(enc>>8);
   if((odd_byte&0xAA)^((~odd_byte&0x55)<<1)) {
      receive_error=1;
      return(0);
   } else odd_byte&=0xAA;
   even_byte=(int)enc;
   if((even_byte&0x55)^((~even_byte&0xAA)>>1)) {
      receive_error=1;
      return(0);
   } else even_byte&=0x55;
   receive_error=0;
   return(odd_byte|even_byte);
} 

Udv
Imre



> -----Original Message-----
> From: elektro-bounces at tesla.hu
> [mailto:elektro-bounces at tesla.hu] On Behalf Of Bohus Tamás
> Sent: 2006. december 11. 20:13
> To: avr-hun at x-dsl.hu; elektro at tesla.hu
> Subject: manchester encode
>
> Hi!
>
> Valakinek van készen avr-hez manchester kodolo/dekodolo rutinja?
> Rádió távirányításhoz kellene.
>
>                                                              
>           
> Udv:Tomo




More information about the Elektro mailing list