univerzální registry PIC

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Johny_Servis

univerzální registry PIC

#1 Příspěvek od Johny_Servis »

Sorry za to že tu zakládám za druhý den už druhé téma, ale první problém byl zdárně vyřešen a jak pokračuju vyhrnuly se další problémy. Na netu sem nic nenašel, tak se obracím sem.

dle datasheetu PIC16F877A by mělo být na stránce 0 (bank 0) od adresy 0x20 po adresu 0x7F 96 osmibitových univerzálních registrů
tak si je tedy postupně zabírám pro své pomocné registry stylem

regA equ 0x20
regB equ 0x21
...

problém je v tom, že watch (v MPLABu) je neumí zobrazit (píše "not found"), jelikož tam mám i vícebajtové registry, rozhodl sem se to přepsat na:

cblock 0x20
regA
regB
regC:4
...
endc

stále to však watch neumí zobrazit a ani program po nahrání do PICu nechodí jak by měl. Jak to tedy s těmito registry je (upozorňuji že si pečlivě hlídám přepínání mezi jednotlivími paměťovými bankami)
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#2 Příspěvek od Atlan »

regA equ 20h a mne to chodi..... problemom toho procesora je ze len spodny 16bajtov pamete je pristupnch vo vsetkych bankach co je dost obmedzene...
Uživatelský avatar
Pawalo
Příspěvky: 87
Registrován: 06 říj 2005, 00:00
Bydliště: Tábor
Kontaktovat uživatele:

#3 Příspěvek od Pawalo »

zapisuji to uplně stejne jako jste uvedl v prvním příkladu a ve watch mi to zobrazuje. možná jen bych upozornil na jednu věc. slyšel sem něco o tom že v MPLABu je i nějaká funkce, že je musí rozlišovat velká a malá písmena. tak jestli to třeba do watch nezapisujete jinak něž jak máte zapsaný ten registr.
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#4 Příspěvek od Chenzee »

Nevím, jakou máš verzi MPLABU, ale když jsem přecházel ze 7.5 na 8.2, tak se mě to ptalo na adresování registrů buď absolute nebo relocatable. Pokud jsem dal relocatable, tak mi watch také neumožnil zobrazovat obsahy mnou definovaných registrů, poté, co jsem přepnul na absolute, to šlo (a jde).

Edit: V příloze jsou dva printscreeny se zmíněným nastavením. Po změně nastavení musíš provést kompilaci. Pak se změna projeví.
Přílohy
Printscreen MPLABu Relocatable.jpg
(131.19 KiB) Staženo 115 x
Printscreen MPLABu Absolute.jpg
(139.89 KiB) Staženo 129 x
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“