PIC18F05Q40 MPLAB X
Napsal: 15 čer 2024, 20:48
zdravím,
můj život je v troskách. Příležitostně jsem si doteď programoval staré PICy v MPLAB IDE 8.92 v assembleru a všechno bylo krásný. Jenže teď stavím malý projekt na motorku a naprosto neuváženě jsem použil moderní PIC18F05Q40 a až příliš pozdě (když už mám hotovou a osazenou desku a zbývá jen programování) jsem zjistil že můj starý dobrý MPLAB tento čip již nepodporuje a musím se přesunout na MPLAB X. Tady začíná peklo. Z nějakého důvodu již není podporován pro můj čip MPASM a je dostupný pouze překladač XC8. Nedokážu napsat sebekratší program v asm aniž bych při pokusu o překlad nedostal chybu snad na každém řádku. Chci zůstat u asm, nechci C.
Četl jsem i tento ofíko dokument od Microchipu a komické je, že mi nefungují ani jejich příklady.
Může mě někdo nasměrovat na nějaké návody jak vůbec s MPLABem X pracovat a jak hlavně korektně zapsat program aby se řádně zkompiloval ? Prošel jsem mraky videí na YouTube a všechno jenom Céčko. Nejsou na tohle téma k dispozici nějaké knihy v češtině ?
Zkusil jsem zkompilovat tento kód:
a dostal tyto chyby:
Díky
můj život je v troskách. Příležitostně jsem si doteď programoval staré PICy v MPLAB IDE 8.92 v assembleru a všechno bylo krásný. Jenže teď stavím malý projekt na motorku a naprosto neuváženě jsem použil moderní PIC18F05Q40 a až příliš pozdě (když už mám hotovou a osazenou desku a zbývá jen programování) jsem zjistil že můj starý dobrý MPLAB tento čip již nepodporuje a musím se přesunout na MPLAB X. Tady začíná peklo. Z nějakého důvodu již není podporován pro můj čip MPASM a je dostupný pouze překladač XC8. Nedokážu napsat sebekratší program v asm aniž bych při pokusu o překlad nedostal chybu snad na každém řádku. Chci zůstat u asm, nechci C.
Četl jsem i tento ofíko dokument od Microchipu a komické je, že mi nefungují ani jejich příklady.
Může mě někdo nasměrovat na nějaké návody jak vůbec s MPLABem X pracovat a jak hlavně korektně zapsat program aby se řádně zkompiloval ? Prošel jsem mraky videí na YouTube a všechno jenom Céčko. Nejsou na tohle téma k dispozici nějaké knihy v češtině ?
Zkusil jsem zkompilovat tento kód:
Kód: Vybrat vše
; Definice procesoru a zahrnutí definic registrů
LIST P=18F05Q40
; Definice proměnných
CBLOCK 0x20
COUNT1
COUNT2
ENDC
; Začátek kódu
ORG 0x0000 ; Začátek programu na adrese 0x0000
; Hlavní program
START:
CLRF PORTA ; Vymaž PORTA
CLRF LATA ; Vymaž LATA
CLRF TRISA ; Nastav všechny piny PORTA jako výstupní
BLINK:
BSF LATA, 0 ; Nastav pin RA0
CALL DELAY ; Zavolej zpoždění
BCF LATA, 0 ; Vymaž pin RA0
CALL DELAY ; Zavolej zpoždění
GOTO BLINK ; Opakuj smyčku
; Podprogram pro zpoždění
DELAY:
MOVLW 0xFF ; Nastav WREG na 0xFF
MOVWF COUNT1 ; Ulož do COUNT1
MOVLW 0xFF ; Nastav WREG na 0xFF
MOVWF COUNT2 ; Ulož do COUNT2
DELAY_LOOP1:
DECFSZ COUNT1, F ; Decrementuj COUNT1
GOTO DELAY_LOOP1 ; Opakuj, pokud není nula
DECFSZ COUNT2, F ; Decrementuj COUNT2
GOTO DELAY_LOOP1 ; Opakuj, pokud není nula
RETURN ; Návrat z podprogramu
END ; Konec programu
a dostal tyto chyby:
Kód: Vybrat vše
project_honda.asm:5:: error: (876) syntax error
project_honda.asm:15:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:16:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:17:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:20:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:22:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:29:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:31:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:34:: warning: (1522) RAM access bit operand not specified, assuming banked memory
project_honda.asm:36:: warning: (1522) RAM access bit operand not specified, assuming banked memory
make[2]: *** [nbproject/Makefile-default.mk:116: build/default/production/project_honda.o] Error 1
make[1]: *** [nbproject/Makefile-default.mk:91: .build-conf] Error 2
make: *** [nbproject/Makefile-impl.mk:39: .build-impl] Error 2
project_honda.asm:15:: error: (800) undefined symbol "PORTA"
project_honda.asm:16:: error: (800) undefined symbol "LATA"
project_honda.asm:17:: error: (800) undefined symbol "TRISA"
project_honda.asm:29:: error: (800) undefined symbol "COUNT1"
project_honda.asm:31:: error: (800) undefined symbol "COUNT2"
Díky