We are using an Analog Devices ADuC832 device and we have observed that the C51S.lib works well for printing to the serial port under the small memory model. We have not had any luck generating output from the serial port using C51L.lib however. It compiles under the large memory model so we are not sure why the output is garbage. What could cause this? Could this be related to STARTUP.A51? Has anyone else had success with I/O under the large memory model? Thanks in advance, Brian Chase
Large model I/O works for me. One bug I did have a few weeks back springs to mind, but it's a long shot. One of the 7.02 compilers -- 'b', I think, but I wouldn't bet my life on it -- wouldn't correctly include C51L.lib even when it needed to, _if_ you used far memory but didn't have any far variables defined. (That is, just pointers off to the device.) Accesses through far pointers would fall through the non-far code and produce "features that I didn't want". Not that the serial port itself is "far", but if the data you're trying to print is stored afar, you might have that sort of problem.