ok, då får jag istället:
Error[115]/MYLIB/HD44780_INC.ASM 6 : Duplicate label ("PORTD" or redefining symbol that cannot be redefined)
Error[115]/MYLIB/HD44780_INC.ASM 6 : Duplicate label ("TRISD" or redefining symbol that cannot be redefined)
Error[115]/MYLIB/HD44780_INC.ASM 6 : Duplicate label ("PORTA" or redefining symbol that cannot be redefined)
Error[115]/MYLIB/HD44780_INC.ASM 6 : Duplicate label ("TRISA" or redefining symbol that cannot be redefined)
Du har inget exempelprojekt där du gjort samma sak och fått det att fungera?
När man gör "DEFINE par1 par2" så kommer par1 att ersättas av par2 överallt där par1 används.
Alltså om man först gör "#define LCD_DATA PORTD", och sedan "GLOBAL LCD_DATA", så är det samma sak som "GLOBAL PORTD", vilket väll inte är så bra...
DEFINE definierar igentligen inte vanligq symboler, utan sträng-ersättningar (eller vad det nu kallas).
Hur löser vi nu detta... ?
Jag föreslår att du :
- Plockar bort DEFINE's från LAB3.ASM
- Lägger till samma DEFINE's i INC filen.
- Plockar bort GLOBAL från INC filen.
- Lägger in INCLUDE i alla filer där anrop till HD44780.ASM skall göras. (kanske redan OK...)