I'm using an AVR ATmega644 to control a SparkFun LCD-00710. However, the code I downloaded from the internet (AVR to 128x64 Graphics LCD Interface) seems to be not working. That is, when I program the AVR and hook it up to the LCD, nothing happens.
I've narrowed down the problem. Using a logic analyzer, I realized that my ENABLE signal is not being pulsed (I believe it has to go from 1 to 0 for the instruction to be executed). In the code that I downloaded, it has these two lines:
Ugh. The first one says to OR portD with 1 shifted to 10000, the second says to AND it with the complement of 1 shifted to 10000.
This looks way too complicated for a #define compiler instruction. Assign LCD_E_HIGH and LCD_E_LOW to macros that do direct bit manipulation or bit masks.