I have implemented a new serial data transfer protocol in our 8051 system (80C552). I tryed to write the received characters immediately back to the terminal with the following commands:
ucrs232_buffer[ucrec_count] = S0BUF; S0BUF = ucrs232_buffer[ucrec_count];
you wrote:"Writing the chars back to S0BUF was just inserted for test. If I do not use this line, I get also a wrong message" If this is a fact, then writing back is not your problem, you must be writing to the buffer somewhere else. Erik also when writing, you must cleat TI in the ISR.