[elektro] C kérdés

hg12345 hg12345 at freemail.hu
Sun Aug 29 12:42:30 CEST 2010



Szerintem is, meg megérteni amit írtam.>

Bocsika, érdemes lenne elolvasni amit írtam, szépen sorjában leírtam mit míért csinál. És 100%, hogy így müködik.
Röviden beteszel egy DNop utasítást ami:

PIC12,16
DNop() =>  goto $+1
18  
DNop() =>  bra	$+2

PIC24/dsPIC 
DNop() => bra	$+2

Melyik kontrollerről beszélsz, mert hogy mint fent látható nem mindegy!
És erre az utasításra teszed a HW breakpointot, és ott áll meg ahol kell.

Ha nem ezt használod, akkor érdemes elolvasni az MPLAB-nak helpjét, (már írtam, hogy hol találod) és mindig késöbb vagy a függvényhívás fejében fog meg állni!
Ráadásúl a 24/dsPIC sorozatban ez még tovább bonyolodik azoknál az utasítások esetén amikor pl.: egy indirekt incrementális utasítás szerepel a cimzésben, eé pont ezt regisztert használod a következő utasításban, mert ilyenkor a uC "intruction Stall Cycle" hajt végra, ami további egy ciklus idővel nyujta a végrehajtást...., természetesen a BRK-ben is látszik....

>
Ugyanis nem azt írtam, hogy nem tudom hogyan lehet töréspontot >
megoldani, hanem azt, hogy vajon MCHIP hogyan csinálja, hogy nem tud ott >
megállni ahová a töréspontot teszem.>
Nagy különbség !!>
Sőt, egyazon töréspontnál hol megáll pontosan, hol meg tovább lép.>
Ezt elég nehéz megmagyarázni. Akár címkomparátort használnak, akár >
kicserélik a törésponti utasítást.>
>
> A MCHIP csak DEBUG részt használja. Ha megnézed az utasítások végrehajtását, láthatód, hogy az utasítás beolvasás FETCH az előző utasítás végrehajtása alatt történik, vagyis amikor észreveszi már a következő utasát hajtja végre, tehát csak itt tud megállni.>
>    >
Most melyiken van a töréspont ? Amelyiket végrehajtja, vagy a következőn >

A összehasonlító regiszter a végrhajtást tudja érzékelni, az meg legalább egy ciklussal elvan maradva a beolvasástól....

amelyiket beolvassa?>
De bármelyiken is van, szerintem sehogy se jó amit írtál :-[>

Kár, :-(, végül is teljesen mindegy ha beteszed az ajánlott "dupla nop" utasítást és erre teszed BRK-t akkor ott áll meg. 
Ha meg nem akkor lehet tovább mérgelödni :-[>  (amúgy nemtudom mit jelent eme jel, de remélem nem valami csúnyát)
>
>









More information about the Elektro mailing list