Thanks!! I will review and give it a shot. Travis atomic_ant wrote: here my init code in hi-tech c if you want tx interrupt de-comment le line change the baud rate and and crystal to match your setup in hytertem uncheck hardware flow control, xon-xoff regards S. #include <pic18.h> #include <stdio.h> #define BAUD 9600 #define FOSC 2000000L #define NINE 0 /* Use 9bit communication? FALSEit */ #define DIVIDER ((int)(FOSC/(16UL * BAUD) -1)) #define HIGH_SPEED 1 #if NINE == 1 #define NINE_BITS 0x40 #else #define NINE_BITS 0 #endif #if HIGH_SPEED == 1 #define SPEED 0x4 #else #define SPEED 0 #endif /* Serial initialization */ void init_comms(void) { SPBRG 9; //DIVIDER; //TXIE=1; //enable tx/rx interrupt RCIE=1; TXSTA = (SPEED|NINE_BITS|0x20); RCSTA = (NINE_BITS|0x90); } void putch(unsigned char byte) { /* output one byte */ while(!TXIF) /* set when register is empty */ continue; TXREG = byte; } unsigned char getch() { /* retrieve one byte */ while(!RCIF) /* set when register is not empty */ continue; return RCREG; } unsigned char getche(void) { unsigned char c; putch(c = getch()); return c; } void print(const uchar *string) { while(*string!='\0') { putch(*string); string++; } putch(0x0d);// cr } --- In p...@yahoogroups.com, "Travis L. F Bailey" <tbailey@l...> wrote:I am trying to get the serial to work on my pic18f452 chip. I candata to hyperterm from pic with no problem. But, I can not figureouthow to get data from hypterterm to the pic. I am able to print, here is a sample of my output: First 2 RCSTA 144 TXSTA 160 First 3 RCSTA 144 TXSTA 160 First 4RCSTA144 TXSTA 160 First 5 RCSTA 144 TXSTA 160 First 6 RCSTA 144 TXSTA 160 First7RCSTA 144 T XSTA 160 First 8 RCSTA 144 TXSTA 160 First 9 RCSTA 144 TXSTA 160First10 RCSTA 144 TXSTA 160 I think everything is set properly, but I am not sure. Does anyone see any obvoius errors in my code? Thanks, Travis MPLAB C18 Code I am using: #include <p18cxxx.h> /* for TRISB and PORTB declarations */ #include <delays.h> #include <usart.h> #include <stdlib.h> int shorttime; int longtime; int counter; char data; char counter_data[20]; char rcsta_data[20]; char txsta_data[20]; void main (void) { TRISB = 0; /* configure PORTB for output */ LATB = 0; shorttime = 5; longtime = 100; counter = 1; OpenUSART (USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, 25); while (1) { PORTB = 3; /* display value of 'counter' on the LEDs */ Delay10KTCYx(longtime); /* delay 1000 */ while (counter < 10) { counter++; itoa(counter,&counter_data); putrsUSART (" First " ); putsUSART ( &counter_data ); itoa(RCSTA,&rcsta_data); putrsUSART (" RCSTA " ); putsUSART ( &rcsta_data ); itoa(TXSTA,&txsta_data); putrsUSART (" TXSTA " ); putsUSART ( &txsta_data ); PORTB = 7; Delay10KTCYx(longtime); PORTB = 5; Delay10KTCYx(longtime); } PORTB = 1; while (1) { /* Problem is here somewhere.... */ while(!DataRdyUSART()) { /* Blink LED's until input is recieved Stays in here forever...... */ PORTB = 128; Delay10KTCYx(longtime); PORTB = 0; Delay10KTCYx(longtime); } data = ReadUSART(); putrsUSART ( " Input: " ); WriteUSART ( data ); if (data=='d') { PORTB = 5; Delay10KTCYx(longtime); } if (data=='s') { PORTB = 31; Delay10KTCYx(longtime); } if (data=='q') break; } } }------------------------ Yahoo! Groups Sponsor ---------------------~--> Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cidU11 http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/dN_tlB/TM ---------------------------------~-> to unsubscribe, go to http://www.yahoogroups.com and follow the instructions ">http://docs.yahoo.com/info/terms/ |