Nemůžu zprovoznit displej 16x2 a to i po kopírování různých vzorových kódů. Netuším kde dělám chybu. Simulátor v Bascomu funguje. Naživo je to mrtvý. Proto si myslím, že je to v nastavení.
Mám dotaz, zkoušel jsi nahrát do uProcesoru nějaký jednoduchý program?
Např: blikání LED na PORTD.0 v intervalu 1s. Z foto nejde poznat hodnota krystalu(pokud je osazen, asi bude pod uProc.). V programu si můžeš nastavit hodnotu, ale musíš pak podle toho upravit pojistky(fuse) při programování - viz datasheet atmega32.
Jelikož z LCD modulu není vyveden pin R/W, musíš správné časování zajistit v programu. Nevím, jak je napsána knihovna pro LCD v Bascomu, některé typy LCD potřebují delší časování mezi příkazy.
no kazdopadne pokud po startu a inicializaci displaye zustava prvni radek tmavej a druhej zadny znaky, tak prodlouzit prodlevy mezi jednotlivejma prikazama inicializace (obzvlaste ten prvni reset a tak)
Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Nedalo mi to a zkusil jsem to v Bascomu zkompilovat(použil jsem vzorový příklad z knihy: Mikrokontroléry ATMEL AVR programování v jazyce Bascom, příklad 6.2). Výsledek - na LCD se nic nezobrazí, tak asi bude chyba v knihovně pro Bascom. Funguje až příklad 6.3, kde je ovšem používán LCD pin R/W(při odstranění deklarace Const _lcd_rw = 1, kompilace skončí chybovým hlášením).
frekvence krystalu je 16 MHz a opravil jsem ji až po odeslání tohoto příspěvku, ale úspěch se nedostavil. LCD je mrtvý úplně pouze svítí LED podsvícení.
Pokud jsou špatné knihovny Bascomu tak kudy potom vede cesta, C# ?
Pokud bys přešel z Bascomu na AVR Studio + WinAVR(jazyk C), tak bych měl odzkoušenou knihovnu pro LCD(HD44780) na vývojovém kitu EvB 4.3(také nemá vyveden z LCD pin R/W).
Tak problém byl vyřešen. Po vyzkoušení na identické desce vše funguje jak má. Na původní desce byla závada odstraněna pouze vyjmutím a znovuosazením ATMegy32... nejspíš byl někde špatný kontakt. Díky všem za příspěvky a rady.