Chyby v MPLAB 8.02 - riesenie, cast II

j s jarin.hw@gmail.com
Středa Srpen 13 13:12:12 CEST 2008


Neviem, ako to funguje na skutocnom MCU a pravdupovediac nemam chut to skusat.

Samozrejme ze TMR1_internal neexistuje. Je to virtualny register,
vytvoreny len pre ucely simulacie, ktory je vsak riesenim Vasho
"problemu".
Pisal som to vo svojom provom, obsiahlejsom prispevku, evidentne to
bolo zbytocne - alebo som to zle vysvetlil.

J.S.



Dňa 13. august 2008 12:10, Michal HW <michalgregor@centrum.cz> napísal/a:
> Na skutecnem procesoru CCP4 nenuluje TMR3,
>
> Podle mne zadny TMR1 internal neexistuje, je tam pouze bufer pro TMR3 a ten
> se zapina bitem RD16.
> Je to pekne videt na obrazku 15-1 a 15-2.
>
> Michal Gregor
>
>
>
>
> ----- Original Message -----
> From: j s
> To: hw-list@list.hw.cz
> Sent: Wednesday, August 13, 2008 11:36 AM
> Subject: Chyby v MPLAB 8.02 - riesenie, cast II
>> Vezmu to od konce:
>> Kapitola 18.2.1 Special Event Triggers are not implemented for ECCP3, CCP4
>> or CCP5. Selecting the Special Event Trigger mode for these modules has
>> the
>> same effect as selecting the Compare with Software Interrupt mode
>> (CCPxM3:CCPxM0 = 1010). No je to v PDFku pekne schovame - klasicka
>> poznamka
>> malym pismem.... Ja jsem ji nasel az po dlouhem hledani proc mi procesor
>> dava 140ms a pritom v simulatoru MPLABU tam mam 100ms.
>
> Ta poznamka nie je malym pismom. Je to standardny font textu v datasheete.
>
> Pozrime sa do toho datasheetu este raz. Strana 197, asi v polovici,
> velkym pismom
>      REGISTER 17-1: CCPxCON: CCPx CONTROL REGISTER (CCP4 MODULE, CCP5
> MODULE)
> Teda CCP4 a CCP5 funguju ako standardne CCP moduly, podla kapitoly 17,
> nie ako ECCP (pricom to E znamena Enhanced, ale tyka sa to PWM
> modulov) moduly podla kapitoly 18, na ktoru sa odvolavate. Ako som
> pisal skor, nastavenie CCP4CON do 0x0B = 1011 = Compare mode: trigger
> special event, reset timer, start A/D conversion on CCPx match. Teda
> resetuje timer.
>
> Pre ECCP moduly (CCP1 az CCP3):
> 1011 = Compare mode: trigger special event (ECCPx resets TMR1 or TMR3,
> sets CCPxIF bit, ECCPx trigger also starts A/D conversion if A/D
> module is enabled)(1)
> ....
> ....
> Note 1: Implemented only for ECCP1 and ECCP2; same as 1010' for ECCP3.
>
> Teda, netyka sa to CCP4 a CCP5.
> V tom datasheete je to mozno nestastne napisane, ale takto som to
> pochopil ked som sa na to pozrel a zda sa, ze to takto aj funguje.
>
> ----------------------------------------------
>
> O tom timere 1 som napisal vsetko co som povazoval za potrebne. Zrejme
> je to malo.
> V MPLAB-e 5.7 to fungovalo zrejme inak. Nespominam uz na tuto verziu
> (je to uz peknych par rokov dozadu, co bola aktualna) a kedze
> pravdepodobne nemal TMR1_Internal, tak to citanie celeho stavu TMR1
> bolo urobene nekorektne voci realnemu HW. Preto to upravili tak, aby
> sa ten timer spraval tak, ako ma, teda podla toho vysvetlenia, ktore
> som Vam podal v predoslom prispevku. Preto je spravne, pri simulacii,
> pozerat sa na TMR1_internal, hoci program moze narabat s registrami
> TMR1H a TMR1L, pricom je treba dodrzat logiku citania a zapisu tak ako
> som ju popisal predtym.
> Ta "paseka" je hodnota TMR1H, ktoru ste tam zapisal predtym. Kedze
> TMR1L program necita, neobnovuje sa ani TMR1H a preto simulator vidi v
> TMR1H hodnotu, ktoru neocakavate (ale ktora tam bola programom
> zapisana). TMR1_Internal obsahuje skutocnu hodnotu timera. To ze tam
> tu (neocakavanu) hodnotu vidite aj po resete je dosedok toho, ze TMR1H
> a L si zachovavaju svoj stav po resete, resp. reset im neudava nijaky
> definovany stav, tak je to to iste ako pred resetom.
> Teda ten timer vzdy preteka pri 0xFFFF-0x0000. To ze to nevidite, este
> neznamena, ze to tak nie je.
>
> ----------------------------------------------
>
> Co sa tyka vypoctu Tad, zda sa byt v poriadku.
> Bolo dolezite podotknut, ze sprava sa zobrazuje len raz pri "otvoreni
> MPLAB-u". To je pochopitelne, pretoze po resete je obsah ADCON1
> definovany na 0x00. Iste si dokazete spocitat, ze potom je Tad
> skutocne menej ako 0.70us.
>
>
> J.S.
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>


Další informace o konferenci Hw-list