Ako zdebugovat interupt v C ?

Petr Labaj labaj na volny.cz
Pátek Září 8 15:23:07 CEST 2023


Omlouvám se, že jsem to nestudoval celé.
Ale pokud se občas vypisuje něco co nemá, tak bych udělal:
- v té přerušovací rutině, která má vypisovat DP,  bych otestoval, 
jestli posílám na port opravdu kód pro DP
- pokud ne, tak bych vzal ze stacku adresu, na které bylo vyvoláno 
přerušení, a napsal bych ji do nějakého pomocného bufferu

Pak bych to po chvíli zastavil v debugeru (poté, co se několikrát 
zobrazil ten špatný segment) a zkontroloval ten seznam adres, kde se 
program nacházel v době přerušení.
Pokud by to byly stále stejné oblasti, zaměřil bych se na hledání tam.
Je to jednoduchý pokus na pár řádků a pár minut.

PL

*******************

Dne 8.9.2023 v 15:14 Jan Waclawek napsal(a):
> [preposielam]
>
>
> Ahoj,
>
> pouzivaju sa dva buffre MUX_RawData a RawData. Raw_Data sluzi na nastavenie
> bitovych masiek cislic a znakov. MUX-RawData je samotny buffer, z ktoreho
> bezi multiplexovanie dat na porty, kopiruju sa jednotlive bity.
> Umyselne pisem porty, lebo ovladanie anod a zobrazenie znakov a cislic nie
> je konzistentne na piny portov, ale su rozhadzane, tak aby bol pekny
> plosny spoj. Chyba sa prejavi tak, ze na prazdnej segmentovke, na ktorej ma
> svietit "DP" svieti "Seg_A".  Akoby sa vykonala rotacia z 8 bitu do 1 bitu.
> Neprejavuje sa to vzdy, ale z casu na cas sa to objavi a rusi to esteticky
> dojem. Este ma napadlo, ci to nie je typicka chyba read-modify-write
> bitovych instrukcii PIC16, ktorymi ten displej ovladam. Chybu sa mi
> podarilo nasimulovat, ale pokazde pri inom zobrazovanom 3-cifernom cisle.
> Chyba nie je staticka ale dynamicka. Ten kod, co som sem dal, funguje na
> 99,9%, takze to nie je tak, ze to nefunguje vobec. Jedina tazkost pri
> ozivovani bola synchronizacia pri kopirovani RawData do MUX_RawData. A
> mozno je to aj tym 20 rocnym mcu, ktory uz pomaly dosluhuje. Ale prist na
> to, co tomu je, ma dost motivuje, ale zial matam v tme.
>
> A.
>
> Skus prosim este popisat, co presne chces zobrazovat (t.j aky je obsah
>
> jednotlivych relevantnych premennych), a co tam vidis zobrazene (t.j. ze
> ako sa chyba prejavuje).
>
> wek
>
> _______________________________________________
> 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