MPLAB - používání externích souborů pro ASM kód
Moderátor: Moderátoři
MPLAB - používání externích souborů pro ASM kód
Měl bych takový malicherný problém v prostředí MPLAB. Jelikož se mi kód občas rozroste přes 2000 řádků , hledám možnost , jak kusy subrutin umístit do samostatného souboru a následně je jen nějak přiřadit do hlavního ASM souboru a provádět odskoky do těchto součástí .
Příklad : obsluha maticového displeje - danou část kódu oddělím do samostatného souboru, z hlavního souboru pak jen zavolám hlavičky v tomto samostatném kusu obsažené (init , odeslání znaku , ap.) .
Existuje vůbec nějaká taková možnost v tomto prostředí ?
Z letmého prostudování manuálu moc moudrý nejsem , proto žádám o radu i zdejší zkušenější .
Za každou odpověď předem děkuji !
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek
napr. v file SCHUdef.inc mám často používané definície
Tento súbor sa uloží pri preklade na miesto tejto instrukcie
Kód: Vybrat vše
#include <SCHUdef100.inc> ; DEFINICIE NAJMA BITOVE OPERACIE a pod...
;
alebo modul prerušení vložím kde potrebujem
Kód: Vybrat vše
;==================================================================================
#include <SCHUit100.inc>
;==================================================================================
Iná možnosť je používať MACRO uložené v súbore macro.mac
O makrech jako samostatných souborech jsem zatím bohužel nic kloudného nenašel , za odkaz na popis , či ještě lépe vysvětlení budu vděčný .
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek
K veci:
Akúkoľvek časť zdrojového kódu si presuniem do ľubovolného súboru.
V zdrojovom kóde si ponechám odkaz na túto časť ako #include <file.xxx>.
Pri preklade sa obsah <file.xxx> v tomto mieste pripojí a prekladá ako by tá časť bola súčasťou prekladaného textu-zdroja.
Toto platí aj o tzv. hlavičkových súboroch pre jednotlivé procesory. Sú v nich zadefinované bity, registre a iné okolo jadra, periférií, pamätí a konfigurácie.
Keďže v úvode týchto súborov je použitý príkaz NOLIST v súbore.lst sa objaví nanajvýš hlavička. Súbor na konci musí mať príkaz LIST inak by sa nasledujúci preklad kódu nezapisoval do súbor.list
Omlouvám se za své přiblbé otázky , v programování PICů se sice už nějaký ten pátek hrabu , ale v MPLABu zatím ovládám jen to nejnutnější - sledování registrů , diassebmly , log. analyzátor , stopky a podobné .
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek
Vo file.asm je hlavná časť programu. Ostatné ako macro moduly mám v file_mac.inc, často používané definície vo file_def.inc, prerušovací program v file_it.inc.
Definície a makrá umiestňujem na začiatok
Pre znovu-definovanie treba najskôr použiť " #undefine name". Potom sa dá nanovo definovať.
Viac a podrobne tu:
http://ww1.microchip.com/downloads/en/d ... 33014h.pdf
- Přílohy
-
MPLABprj.jpg- (158.23 KiB) Staženo 190 x