I tried to use USART on pic18F452 and i am stuck in a point of no return. I cannot receive anything i type on Hyperterminal. This is my source written in C18. Is written by me from scratch after reading a lot of documents and a lot of asm sources. The datasheet of 18f452 was also very helpfull but maybe i am missing something : //----------------------------------------------------------------------- TRISC &= 0x3F; // Cleaning 6 and 7 bits to be set up later TRISC |= 0x80; // C7 = 1 (Transmit; OUT from PIC), C6 = 0 (Receive; IN to PIC) // trying to use 2400 8n1 with 4MHz quartz; standard PICDEM2 OpenUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_BRGH_HIGH & USART_CONT_RX & USART_EIGHT_BIT & USART_ASYNCH_MODE, 103); putrsUSART ((const far rom char *) "\n\rUn mesaj scurt de test :-)\n\r"); //----------------------------------------------------------------------- Now, everything works so far. Even if i try to do something like this after the first line i still see characters on hyperterminal : //----------------------------------------------------------------------- while (1) { for (i=0;i<10000;i++) i=i; //delay... c[0] = '.' c[1] = 0; putsUSART((char *) &c); //output a dot } //----------------------------------------------------------------------- c is defined as : unsigned char c[16]; Ok. Now if i am trying to receive some characters using this code into the while statement i get nothing... I even believe the code freezes into getsUSART function but i don't really know why. Maybe because RCIF bit is not getting set... //----------------------------------------------------------------------- while (1) { getsUSART((char *) &c, 1); // preiau un caracter de pe seriala c[1] = 0; if (c[0] != 0) { putsUSART((char *) &c); c[0] = 0; } } //----------------------------------------------------------------------- I tried using pooling mode without any interrupt so i will not get dizzy with all the complicated setup. Still i should at least see something comming back to my PIC from hyperterminal. Can someone see where i am making my mistake ? Thank you in advance for your time Dumitru Stama PS. I repaired my olimex icd2 clone using a new PIC16F877 :-) You helped me identify the cause, thanks ! -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist