On Fri, 21 Apr 2000, Eisermann, Phil [Ridg/CO] wrote: > > RS=Low > > R/W=High > > E=Low -> High > > Read Bit-7 8 yes, that's how I'm doing it. except E toggles low->high->low. > and with a 4-bit interface, you're supposed to do it twice. Ditto. I tried doing it once, and doing it twice - either way it didin't work. Since I don't have an ICE and didn't have the time to set up the scope to see exactly what was going on, I don't know exactly what was happening, only that the wait_busy routine wasn't working. > That's the way it is supposed to work in theory. In > practice, you need to change the data lines from > input to output in order to read the data. And as > soon as you do, the LCD (at least mine, and > apparantly Dale's as well) goes south. I was setting TRIS to 00001111 (LCD data pins input) before toggling any of the RS, RW or E lines. In theory, this shouldn't affect the LCD - in fact, I share pins <> E between the LCD and a DS1620 temp. sensor, so I know the LCD can tolerate data pins being TRISed and used for other things when it's not enabled. > Perhaps my LCD is half-dead/ESD impaired? I doubt it. I'm starting to wonder about the hardware now, though... unfortunately it will be at least a day before I can go retrieve the board and scope to play with it, I left it at work. Dale --- The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny ..." -- Isaac Asimov