Skrev lite fel där. Det ska vara "Om jag däremot tar bort raden lcd_variabel2(value_c, rs_bit_c, var1_c, var2_c)...", dvs ingen 'dim' där. I resten av tråden står det rätt.
Det är alltså så att jag anropar proceduren med:
lcd_variabel2(value_c, rs_bit_c, var1_c, var2_c)
Så jag gör precis som ni skrivit.
För att utesluta att namnen påminner om andra namn så testade jag att byta ut namnen lite.
Anropar proceduren med:
lcd_bah(tjo, 3, %1000, %0010)
och själva proceduren ser ut såhär:
Kod: Markera allt
sub procedure lcd_bah(dim value_c, rs_bit_c, var1_c, var2_c as byte)
lcd_skriv(59, 3, %1000, %0111)
end sub
Men då verkar det som att programmet fastnar. Först ser man bara "U V" och efter 34sek så gör det vad det ska.
Efter att ha resetat några gånger så verkar det fungera, bortsett från att det fastnar sådär i början.
Hur kan det bli så när jag lägger till "anrops-raden"?? Den ska inte ens kunna köras så länge man inte trycker på encoderns knapp. Om det är något interrupt som slår till så borde det ju bli samma sak om jag plockar bort raden.
edit: Testade att kompilera om samma kod. Displayen fylls på båda rader med svarta rutor. Startar om labbagget och då visas slumpmässiga tecken som blinkar och flyttar på sig. Det blir mest action när man trycker på någon av de "vanliga" knapparna. När jag tryckte på encoderns knapp så töms displayen ..och är fortfarande tom när jag skrivit detta.