Fungerar den med något annat än LCD'n ?
Snurrar ditt program alls ?
Använder du PB's inbyggda LCD rutiner ?
Om inte, har du anpassat timingen till 20 Mhz ?
Varför beskriver du inte vad du gör ordentligt
så du slipper en massa extra frågor ?
OK.
Spontant, utan att veta mer än nu, så verkar det som om
PB inte anpassar sina inbyggda LCD rutiner till 20 Mhz.
Är det en original HD44780 eller en "klon" ?
Det låter som att du skriver snabbare till displayen än vad den klarar av...
Mät enable pulserna med ett oscillockop & gämför pulstiden , när du kör 4/20MHz klockan!.
jag vet inte hur PicBasic fungerar, men ett fel som jag gjorde var att jag glömde att anpassa min delay funktion. ganska slarvigt men det gör så att displayen inte får tid på sig att initieras ordentligt.
Jag hade manuellt lagt in delayer efter varje instruktion som ska skrivas till displayen, för att utesluta timnings problem som troligtvis ha uppstått i & med att du öka klockfrekvensen!.
Du kan ju prova att ställa upp DEFINE LCD_COMMANDUS och DEFINE LCD_DATAUS till värden typ 5ggr högre för att kompensera för högre klockfrekvens, om nu inte kompileraren gör det. Det kan ju ändå bli problem om enable signalen till LCD:n blir för kort. DEFINE LCD_COMMANDUS och DEFINE LCD_DATAUS är ju bara pausen efter kommando / data och inte pulslängden på signalerna.