Advertisement
Guest User

uart shit

a guest
Jul 24th, 2014
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. #include <pic.h>
  2. #define _XTAL_FREQ 4000000 //Hz
  3.  
  4.  
  5.  void InitUART(void)
  6. {
  7.     //TRISC7 = 1;
  8.  
  9.     SPBRG = 25; //9600 Baudrate@4MHz11
  10.     BRGH  = 1;  //fast baudrate
  11.     BRG16 = 0;
  12.     SYNC  = 0;  //asynchonyous mode
  13.     SPEN  = 1;  //enable TX as output on RC6
  14.     CREN  = 1;  //enalbe RX as input on RC7
  15.     SREN  = 0;  //no Effect
  16.     TXIE  = 0;  //Disaple TX interrupts
  17.     RCIE  = 1;  //Enable RX Interrupts
  18.     TX9   = 0;  //8bit mode
  19.     RX9   = 0;  //8bit mode
  20.     TXEN  = 0;  //Reset transmitter
  21.     TXEN  = 1;  //Eanbel transmitter
  22. }
  23.  
  24. void send_char_UART(char value)
  25. {
  26.     while(!TXIF);           //wait while TXREG is busy 
  27.     TXREG=value;
  28. }
  29.  
  30. unsigned char Read_char_UART()   // Reads a character from the serial port
  31. {
  32.     if(OERR) // If over run error, then reset the receiver
  33.     {
  34.         CREN = 0;
  35.         CREN = 1;
  36.     }
  37.    
  38.     while(!RCIF);  // Wait for transmission to receive
  39.    
  40.     return RCREG;
  41. }
  42.  
  43.  
  44. main()
  45. {
  46.  
  47.     InitUART();
  48.     ANSELH = 0;
  49.     TRISD = 0;
  50.     PORTD = 0;
  51.  
  52.  
  53. while(1)
  54. {
  55. if (Read_char_UART()==1)
  56.     {
  57.     PORTD = 1;
  58.     __delay_ms(500);
  59.     PORTD = 0;
  60.     __delay_ms(500);
  61.     }
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement