Kuinka lukea tietyn rekisterin bitit?

Käytössä Arduino IDE 022 ja Arduino Uno alusta ja prossuna siis ATmega328… Tarkoitus olisi saada luettua mahdollisimman helposti esim MCUSR rekisterin bittien tilat, mutta kuinka tämän saisi onnistumaan tällä kokoonpanolla…?

muuttuja = MCUSCR;

if(muuttuja & (1 << MITĂ„_KAIKKEA_SIELLĂ„_OLIKAAN)){
heitä_voltti();
}
if(muuttuja & (1 << JOTAIN_MUUTA_SIELTĂ„){
hetiä_toinen();
}

Meniskö noin? Vai mitä toivot? Noita vakioita voi sitten lueskella 8271.pdf tiedostosta eli ATMega328 datalehdestä.

Juuri tuota tarkoitin, mutta en saa näyttämään juuri tuon MCUSR rekisterin bittejä vaikka saankin näyttäämään muiden rekisterien bitit…

Voisiko tähän vaikuttaa toi, että tuolla datasheetissä näkyy noita MCUCR rekistereitä 2kpl:
0x35 (0x55) MCUCR
0x34 (0x54) MCUSR

Kun eikös tässä MCUSR rekisterissä kuiteskin pitäisi näkyä resetoinnin jälkeen ainakin toi EXTRF lippu ylhäällä, jos ollaan resetti napilla Arduino Uno levyltä tehty toi resetointi…? Kun itsellä näyttää rekisterin sisällöksi koko ajan 0…?

Ei ole kellään tullut ideoita mieleen, että miksi toi MCUCR näyttää koko ajan nollaa (teenköhän jotain väärin)…? Kaikki vinkit ovat tervetulleita…

Hahaa!

MCU Control Register ja Status Register ovat kaksi eri rekisteriä. if(MCUSR & (1 << PORF)) register summary vain siuvulta 524 esiin ja valitsemaan PORFille oikea korvaus tutkiaksesi resetin tuloa.

Kiitoksia selvennyksestä…