I have de C51 v4.0. My program implements a uart interrupt (CON1). If in come data stream is 600 bytes, to the Uart, it loss 88 bytes, only de firts 512 bytes are detected; but if then arrived other 600 bytes, it loss another 88 bytes but capture 1024 bytes in total(firts 512b + last 512b). I am using a DS80C320 microcontroller, C51 conpiler (directives OPTIMIZE (6),OBJECTEXTEND) an L51 linker (no directives). is't a limit in uart?.
I use interrupt. The baudrate is 9600. The cristal is 22.1184 MHz. The counter is a data tipe. The program only use de IIC bus (no interrupts) for write in a LCD the counter value. No XRAM. The program non stops. If arrived 500 bytes, i have 500 interrupts but if arrived 513 bytes i have 512 interrupts.