Det hela handlar om att när jag ska skriva något till LCDn lär jag ju sätta E, R/W, RS hög eller låg lite beroende på vad som skall utföras. Problemet jag har är att jag inte kommer åt dessa pinnar från min funktion (som alltså ligger i en annan fil än huvudprogrammet). Finns det något bra sätt att komma runt det?
Problem nummer två är ju att det inte är speciellt praktiskt att ha tex bcf PORTB, RC7 (E=RC7) på tio olika ställen i koden. Ska man ha någon typ av generell kod borde man ju bara behöva ändra pinne på ett ställe. Så jag tog en titt på macron (har aldrig använt macron tidigare) och tyckte att det här vore ju en vettig lösning. Men det gick inge vidare det heller. Jag tänkte mig något i stil med följande.
Macro:
Kod: Markera allt
;Sätt E hög
E_high macro
bsf PORTB,RB5
endm
Jag har även funderat över något med #define (se nedan) men inte lyckats implementera det i min externa fil. Jag har inte använt det tidigare heller, med det faller ju även det på att jag inte kommer åt PORTB i min externa fil.
#define:
Kod: Markera allt
#define E PORTB,RC7 ; Kontrollerar E