We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?.
Are you using interrupts, or polling? What speed is the data? What speed is the processor? Where is your counter stored - DATA (fastest & smallest code), IDATA, PDATA, or XDATA (slowest & largest code) What else is your system doing?
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.