I am using a 16F1783 with XC8 trying to get the USART tx/rx to work, but it is not outputting ANYTHING at ALL! //////////////////////// void startup(void) { TRISB =3D 0b00111111; //All PORTB =3D input except USART ANSELB =3D 0b00111111; //RB0:5 =3D analog input OSCCON =3D 0b01110110; //8MHz INTCON =3D 0b00000000; //Disable all interrupts OPTION_REG=3D0b10000000; PORTB =3D 0b00000000; } void init_usart(void) { BRGH =3D 1; BRG16 =3D 0; SPBRG =3D 51; //9600 baud for 8MHz with BRGH =3D 1 TXEN =3D 1; SYNC =3D 0; SPEN =3D 1; } void putch(unsigned char byte) { while(!TXIF) { continue; } TXREG =3D byte; } void main(void) { startup(); init_usart(); while(1) { putch('X'); __delay_ms(500); //PULSE AN LED //An LED pulses every 500ms so I know it's not getting stuck in the putch() code } } //////////////////////// I put a scope on the TX pin (RB6) but nothing changes, it's just stuck low the whole time. I also cannot receive on the RX (RB7) I wrote a software USART that works using the same pin, so I know the pin isn't broken or something. I also tried multiple chips, same result. I'm sure there's just a register that I'm forgetting. PLEASE HELP! --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .