Hi Mark, It has been a while since I worked with LCDs but I did a lot with them a few years back.
I don't have much time and haven't reviewed your code but speaking from experience ... Some of the old LCDs used to support a 4 bit & 8 bit access modes. Usually they defaulted to the 4 bit mode and you had to command it to switch to the 8 bit mode. It sounds like a problem in this area. As I said I haven't had the time to go through your code so you may be trying to do this anyway. (Or the newer LCDs may not support the 4 bit access modes ;-) Anyway, I hope this helps. Regards Luke -----Original Message----- From: Mark Stokes [mailto:[email protected]] Sent: Wednesday, 27 November 2002 10:31 PM To: [email protected] Subject: [Mspgcc-users] Ok, I have an LCD problem. I'm not sure if it's ok to use this list for possible non-compiler related problems. I'm pretty sure this is not a compiler related problem because the asm looks right. If I'm in the wrong place, please tell me and possibly steer me in the right direction. The problem: I'm using a multiple segment LCD and for some reason when I write a byte w/ higher nibble bits in location 0x9D, it's causing the LCD to act like I'm "punching" the COM line. For instance, if I write 0x10 to 0x9D, every segment attached to com0 lights. Similarly, if I write 0x20 to 0x9D, all attached to com1, etc. The lower order nibble bits work just fine (controlling only their single segments). Code is attached. Very basic.. (this is pared down from actual, but still exhibits problem). Simply turn on LCD, clear LCD memory, set P1.0 (just so I know it's active), then set LCD memory (0x9D) to values from 0x01 to 0x80. Nothing weird happens when I set any of the lower nibble bits, only values above 0x0F. I have tried both my custom LCD and the LCD that comes w/ the old EVK board. If I single step with gdb I can see that according to gdb's memory map, the LCD is still clear (all LCD memory is still at 0x00, except 0x9D which is at whatever it should be based on where I stopped. This is very puzzling. Anyone have any ideas? Thanks -Mark ____ This communication contains information which is confidential and the copyright of Nautronix. If you are not the intended recipient of this communication please delete and destroy all copies and advise Nautronix immediately. If you are the intended recipient of this communication you should not copy, disclose or distribute this communication without the prior authority of Nautronix. Any views expressed in this Communication are those of the individual sender, except where the sender specifically states them to be the views of Nautronix. Except as required at law, Nautronix does not represent, warrant and/or guarantee that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.
