Netduino Plus 2 - HD44780 na I2C (PCF8574)

Zkus to postupně. V prvním kroku si připoje LCD 8-bitově a zkus rozběhnout komunikaci po 8 bitech. Jakmile Ti to bude šlapat, tak už potom modifikace způsobu, jak dostat data do displeje jsou jednoduché. Tyhle LCD jsou jednoduché a dobře se s nima pracuje. Knihovnu pro něj jsem napsal podle datasheetu cca za 1 odpoledne. Modifikace způsobů přenosu trvaly déle, ale hlavně kvůli tomu, že jsem to chěl mít napsané tak, že v .inc (něco jako .h) souboru mám výběr způsobu komunikace a portů. Knihovna vlastní má pak podmíněné překlady právě pro přenos dat do LCD a inicializační sekvence. Ale abych se vrátil k LCD. Je třeba dodržet následující :

  1. Po zapnutí napájení musíš počkat, než začneš s LCD komunikovat. LCD potřebuje pro svou inicializaci nějaký čas. Většinou dávám 0,5 sek. Během inicializace LCD nelze použít BF displeje.
  2. Po zápisu dat nebo instrukce do LCD musíš buď zkontrolovat BF před zápisem nebo prostě po zápisu nějakou dobu počkat. Pro smazání LCD (instrukce 0x01) a cursor home (instrukce 0x02) dávám 2 ms, pro ostatní dávám 50us. Mělo by to stačit.
  3. Délka impulzu E by měla být alespoň 400ns. Když bude 1us (1000ns), nic tím nezkazíš. Taky už jsem koumal u jednoho LCD, proč mi nechodí a pak jsem zjistil, že E v délce 500ns mu nestačil.