#include <pic18f4580.h>
void putch(unsigned char c)
{
while(!TXIF) continue; // set when register is empty
TXREG = c;
}
void puts(const char *str)
{
while(*str){
putch(*str);
str++;
}
}
void rs232_init() // Sets USART to 9600 Baud, 8-bit data
{
SPBRG = 51;
BRGH = 1;
BRG16 = 0; //
SYNC = 0; // Asynch Operation
SPEN = 1; // Enable Serial Port
CREN = 1; // Enable Reception
TXEN = 1; // Enable transmission & Set TXIF
TX9 = 0; // 8- or 9-bit transmission
RX9 = 0; // 8- or 9-bit reception
RCIE = 1;
}
void main(void)
{
IRCF2 = 1;
IRCF1 = 1;
IRCF0 = 1;
/*disable comparator module*/
CM0 = 1;
CM1 = 1;
CM2 = 1;
/*Disable PSP (parallel slave port) */
PSPMODE = 0;
PCFG3 = 1;
PCFG2 = 1;
PCFG1 = 1;
PCFG0 = 1;
LATD = 0xFF;
LATE = 0x00;
TRISD = 0x00;
TRISA = 0xFF;
TRISE = 0x00;
TRISC6 = 0;
TRISC7 = 1;
rs232_init();
puts("move forward!!");
}