Below is what was attached According to the datasheet, the baud calculation for synch mode is FOSC/[4 (n+1)], not (fosc/[4+(n+1)]), and TXEN = 1 to transmit Pins set as outputs are not "floating" What's "dealy_ms" ? 1ms delay ? ================= #include // FIELD TEST /** ** Processor pic16f690 @ 4 MHz ** SDCC Compiler ** ** IO 18 pins ** PORTA RA0-5 : 6 pins ** PORTB RB4-7 : 4 pins ** PORTC RC0-7 : 8 pins ** ** Author Jason White ** Copyright (c) 2010 Jason White ** whitewaterssoftwareinfo@gmail.com , w-w-soft.07x.net **/ // Configurations typedef unsigned int config; config at 0x2007 __CONFIG = _INTRC_OSC_NOCLKOUT// internal OSC , 4 MHZ & _IESO_OFF // no need for external OSC & _PWRTE_ON // power up timer & _WDT_OFF // chip not sleeping , no need & _CP_OFF // no code protection (the chip is not rewritable under yes) & _CPD_OFF // no data protection & _MCLRE_OFF // use external reset ? & _BOR_OFF // using batterys , allow low voltage & _FCMEN_OFF ; void wdt(); void delay_ms(long loop); void wdt() { __asm clrwdt __endasm; } void dealy_ms(long loop) { long j=0; for(;j < loop;j++) { __asm clrwdt nop nop nop nop nop nop nop nop nop __endasm; } } void init() { TRISA = 0x00; // x x x 0 0 0 0 0 TRISB = 0x00; // 0 0 0 0 0 x x x TRISC = 0x00; // 0 0 0 0 0 0 1 1 ANSEL = 0x00; ANSELH= 0x00; PORTA = 0x00; PORTB = 0x00; PORTC = 0x00; //usart BRGH=0; BRG16=0; // 8 bit timer on baud rate (fosc/[4+(n+1)]) SPBRG=0x34; // 1200 baud @ 4Mhz = 0x34 over the registers SPBRGH=0x00; SPEN=1; // enable SYNC=1; CSRC=1; CREN=0; //allow send SREN=0; //allow send TXEN=0; // transmit mode } void main() { init(); while (1) { wdt(); } } -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist