RE: Stránkování u PIC 16F676

Kručinský Ladislav ladislav.krucinsky na linde-mh.cz
Sobota Leden 12 13:16:30 CET 2013


Pane J.
díky za připomínky, pochopitelně mám stránku s adresováním porostudovanou a pokrytou poznámkami, jenom jsem se chtěl ujistit, že to chápu správně.
Mohl byste mi (když už jste se mne tak laskavě ujal) vysvětlit co je to problém RMW na IO portech ?
Je někde popsán (jednoduše a stručně) rozdíl mezi PICy 16Fxxx a 16F1xxx ? Používá se tam stejná instrukční sada ? 
Chápu že je nejlepší si stáhnout datasheet (už jdu na to) ale aspoň laicky - v čem jsou lepší ?
Děkuji za trpělivost
Zdravím
Kručinský

-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On Behalf Of j s
Sent: Saturday, January 12, 2013 12:43 PM
To: HW-news
Subject: Re: Stránkování u PIC 16F676

Ked sa pozrieme do datasheetu
http://ww1.microchip.com/downloads/en/devicedoc/40039e.pdf na stranu 19, najdeme tam popisane manipulacie s PC - v zasadne sa deju tromi
sposobmi:
1, Inkrementacia po vykonani instrukcie - to je elementarny jasny sposob, ktory na tej predmetnej strane nie je explicitne popisany, preto som s nim zacal :-) 2, Instrukcia, ktora ma PCL ako ciel - teda napriklad Vase "computed goto" instrukcie addwf, PCL,f - tam je sirka zapisu do PCL iba 8 bitov. Pretoze PC ma 13 bitov, hornych 5 bitov musi ist z dolnych piatich bitov PCLATH registra, ktory je treba manualne naplnit. To pokryva AN556, napriklad.
3, Instrukcia GOTO alebo CALL - tu sa obsluhuje 11 bitov z instrukcneho slova a horne dva bity musite nastavit v bitoch 3 a 4 registra PCLATH. Teda pred skokom (alebo call-om) cez 2kB blok musite tieto bity adekvatne nastavit.

Pokial nemusite inak, je lepsie vyhnut sa PIC16Fxxx ak ich treba programovat v assembleri. Bud pouzite PIC18F (kde tieto problemy defacto odpadaju) alebo aspon PIC16F1xxx, ktore su mimochodom lacnejsie nez stare PIC16Fxxx. Kompatibilita na asm urovni je velmi dobra, pinova kompatibilita bezproblemova.
Okrem toho Vam tym odpadne trebars RMW problem na IO portoch, ktorym trpeli PIC16Fxxx kvoli absencii LAT registrov.

A vobec, PIC16Fxxx mam rad na programovanie v assembleri a to len preto, ze je to taka moja osobna sado-maso uchylka. Mam na nich "najazdenych" pomerne dost, no nedokazem si predstavit, ze by som ich v dnesnej dobe nasadil do normalnej aplikacie - vyssie rady umoznuju programovat bez toho, aby clovek drzal v hlave vsetky ich nectnosti a myslel na to, kde ich treba obist/opravit.

J.



2013/1/12 Kručinský Ladislav <ladislav.krucinsky na linde-mh.cz>:
> Hezký vídend přeji.
>
> Při psaní programu pro PIC 16F676 je potřeba hlídat stránkování paměti instrukcí (přechody z 0x0FF na 0x100 atd) a obsluhovat ten stav tak jak je popsáno v AN556 pouze pro počítané skoky (čtení tabulky)  nebo mně to může zradit i v jiných částech programu ?
> Nebo jinak řečeno: napíšu program, zkompiluju a prohlédnu si v listingu do kterých částí padly přechody mezi stránkami. Když tam není žádná oblast do které se skáče pomocí modifikace registru PCL (addwf PCL,f nebo movwf PCL,f) tak nehrozí riziko ?
>
> Děkuji za pomoc
> Kručinský
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz 
> http://list.hw.cz/mailman/listinfo/hw-list
>
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list