Hi, > >I'm currently working with a 2x16 display and I have opted to not read > >the display and simply wait the maximum time (The application is not > >time critical, so I save one IO). But just to check: You should not read > >the busy flag between the two 4 bit operations, it is only valid after > >the whole operation is completed. > > > Surely you *have* to read the busy flag between the two 4-bit reads? > 'Busy' is bit7 which appears after the first read. After the second, > you're looking at bits 0-3. > > It works OK for me like this, anyway. > I think you misunderstood me. I meant that, when you write something to the LCD, you can first check the busy flag (which requires 2 reads), then write both nibbles to the LCD. Don't try to check the busy flag between the writing of the two nibbles. Niki