Sida 2 av 2

Postat: 10 december 2007, 18:47:17
av hammond
En fråga:

När något är mottaget på "asynchronous reception" så kommer bit5 i PIR1 registret(RCIF) att sättas till 1, vilket då ger avbrott. Kan man för att testa just avbrottsrutinen sätta den "manuellt", dvs "bsf PIR1,5"?

Postat: 10 december 2007, 19:05:31
av Icecap
Ja men gör det läsbart:
bsf PIR1,RCIF ; TEST: Trip the interrupt "manually"

Postat: 10 december 2007, 19:12:19
av oJsan
Kanske inte helt lätt att se i databladet, men på sidan 17 (där PIR1 beskrivs) står det ett "R" ovanför biten RCIF. Det betyder "read only" och den går alltså inte att sätta.

Postat: 10 december 2007, 19:17:25
av hammond
Ojsan: Det stämmer ju:/

Icecap: Spelar det nån roll om man skriver: bsf PIR1,RCIF eller bsf PIR1,5?
rent funktionsmässigt menar jag.

Postat: 10 december 2007, 19:32:36
av hammond
Hoho, felet var ju så illa. Hade kvar flödeskontroll på hyperterminalen....

Postat: 10 december 2007, 22:05:48
av Icecap
Om RCIF har värdet 5 är det alldeles samma men när du ska kolla programmet om en månad har du glömt det!

När du portar den jätteanvändbara rutin till en annan processor kan bit 5 ha bytt betydelse men RCIF ha samma (rätta) betydelse och då ska du leta igenom var helvete det har gått fel. Jag kan berätta, baserat på erfarenhet, att man kan känna sig alldeles totalt jävla idiotisk när man efter 4 dagar intensivt jobb upptäcker just sådana fel.

Och att den är R/O är ju typisk men ganska fattbart, jag har dock använd den en del i MPLAB's emulering men det är ju en annan sak.

Postat: 10 december 2007, 22:30:03
av sodjan
> Spelar det nån roll om man skriver: bsf PIR1, RCIF eller bsf PIR1, 5?

Det första är rätt/bra och det andra är fel/dåligt.
Varför är väl ganska uppenbart...

Postat: 11 december 2007, 21:27:23
av hammond
Icecap: Jo just så. Tänkte väl att det ger samma hur som helst. Men det är klart lite svårare att se vad som sätts.