//////////////////////////////////////////////////////////////////////////////////////////// // File: serial.c // This code is provided by Dr. Robert Reese. // We thank him for the use of it. // // //////////////////////////////////////////////////////////////////////////////////////////// // standard header files for ascii IO functions, // ascii manipulation functions #include #include #include void serial_init (char brg, char lo_speed); void serial_init(char brg, char hi_speed) { // setup Async communication TX9 = 0; TXEN = 1; // transmit enable SYNC = 0; // async mode if (hi_speed) BRGH = 1; // hi speed mode else BRGH = 0; // lo speed mode SPBRG = brg; bitset(TRISC, 7); // RC7 input bitclr(TRISC, 6); // RC6 output RX9 = 0; // 8-bit reception SPEN = 1; // serial port enable CREN = 0; // clear enable first CREN = 1; // now enable first }