Electgpl

PIC - Manchester TX

Aug 31st, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.67 KB | None | 0 0
  1. #include <16F676.h>
  2. #FUSES NOWDT
  3. #FUSES INTRC_IO
  4. #FUSES NOPROTECT
  5. #FUSES NOBROWNOUT
  6. #FUSES NOMCLR
  7. #FUSES NOCPD
  8. #FUSES NOPUT
  9. #use delay(int=4000000)
  10. #use rs232(baud=1200,parity=N,xmit=PIN_C4,rcv=PIN_C5,bits=8)
  11. #define LED PIN_A0
  12. //Manchester IEEE 802.3
  13. void enviaMan(BYTE data){
  14.    int i,j,nibble;
  15.    for(i=0;i<2;i++){
  16.       nibble=0;
  17.       for(j=0;j<4;j++){
  18.          nibble=nibble>>2;
  19.          if(bit_test(data,0))
  20.             nibble=nibble|0x40;
  21.          else
  22.             nibble=nibble|0x80;
  23.          data=data>>1;
  24.       }
  25.       putc(nibble);
  26.       delay_ms(300);
  27.    }
  28. }
  29. void main(){
  30.    while(true){
  31.       enviaMan(0x95);
  32.       delay_ms(1000);
  33.    }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment