/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Brug af interrupt på AVR
Fra : Tomas .


Dato : 08-01-08 23:18

Som Rookie i brug af AVR-controllere er jeg lidt i tvivl mht. brug af
interrupts.

Når man skal benytte interrupts, skal man først unmaske det eller de
interrupts, man skal anvende.
Herefter enables alle unmaskede interrupts. Dette gøres med registeret
GIMSK.
Jeg benytter en ATMega8515 til mit projekt. Problemet er her, at GIMSK
ikke optræder i headerfilen.

What to do?
Hvordan laver man så den globale unmaskning af interrupts på denne
controller?


--
Mvh.

Tomas


 
 
Ukendt (09-01-2008)
Kommentar
Fra : Ukendt


Dato : 09-01-08 22:22


Ja det er noget bix når der ikke bruges samme forkortelser i dokumentationen
og i headeren.

Prøv at finde den baglæns, altså find adressen i manualen, og find så i
headeren hvad de kalder den.

Kender ikke 8515, men IAR har ofte intrinsic funktioner der hedder
__enable_interrupts() , __disable_interrupt() og evt save_interrupt() , som
du (med fordel) kan bruge.

tpt


"Tomas ." <huttelbuttel@hotmail.com> skrev i meddelelsen
news:11998310210.345590661735947@dtext.news.tele.dk...
> Som Rookie i brug af AVR-controllere er jeg lidt i tvivl mht. brug af
> interrupts.
>
> Når man skal benytte interrupts, skal man først unmaske det eller de
> interrupts, man skal anvende.
> Herefter enables alle unmaskede interrupts. Dette gøres med registeret
> GIMSK.
> Jeg benytter en ATMega8515 til mit projekt. Problemet er her, at GIMSK
> ikke optræder i headerfilen.
>
> What to do?
> Hvordan laver man så den globale unmaskning af interrupts på denne
> controller?
>
>
> --
> Mvh.
>
> Tomas
>


Tomas . (10-01-2008)
Kommentar
Fra : Tomas .


Dato : 10-01-08 09:39

Hej Troels

Troels Thomsen <nejtak...> skrev:
>
>Ja det er noget bix når der ikke
>bruges samme forkortelser i
>dokumentationen
>og i headeren.
>
>Prøv at finde den baglæns, altså find
>adressen i manualen, og find så i
>headeren hvad de kalder den.
>
>Kender ikke 8515, men IAR har ofte
>intrinsic funktioner der hedder
>__enable_interrupts() ,
>__disable_interrupt() og evt
>save_interrupt() , som
>du (med fordel) kan bruge.
>
>tpt
>
>
>"Tomas ." <huttelbuttel@hotmail.com>
>skrev i meddelelsen
>news:11998310210.345590661735947@dtext
>.news.tele.dk...
>> Som Rookie i brug af AVR-controllere
>>er jeg lidt i tvivl mht. brug af
>> interrupts.
>>
>> Når man skal benytte interrupts,
>>skal man først unmaske det eller de
>> interrupts, man skal anvende.
>> Herefter enables alle unmaskede
>>interrupts. Dette gøres med registeret
>> GIMSK.
>> Jeg benytter en ATMega8515 til mit
>>projekt. Problemet er her, at GIMSK
>> ikke optræder i headerfilen.
>>
>> What to do?
>> Hvordan laver man så den globale
>>unmaskning af interrupts på denne
>> controller?

Jeg benytter mig netop af en - ellers rigtig god bog til AVR,
der hedder "Embedded C Programming and the Atmel AVR" - Rigtig
god bog, synes jeg. Denne benytter samtidig CodeVision som
compiler, hvilket jeg også gør. Deres eksempler kører dog for
det meste på en AT90S8535. Dennes headerfil har defineret GIMSK,
men denne er ikke defineret i headeren for mega8515. Hvorfor ved
jeg dog ikke.

--
Mvh.

Tomas


Jesper Vium Kalms (10-01-2008)
Kommentar
Fra : Jesper Vium Kalms


Dato : 10-01-08 19:00

Har du et register der hedder GICR? Jeg fandt et eksempel på Google, hvor
der var gjort følgende:

#define GIMSK GICR

Jeg har dog intet indblik i den processor, så jeg ved ikke om det giver
mening.

/Jesper

"Tomas ." <huttelbuttel@hotmail.com> skrev i meddelelsen
news:11999546890.613306677009938@dtext.news.tele.dk...
> Hej Troels
>
> Troels Thomsen <nejtak...> skrev:
>>
>>Ja det er noget bix når der ikke
>>bruges samme forkortelser i
>>dokumentationen
>>og i headeren.
>>
>>Prøv at finde den baglæns, altså find
>>adressen i manualen, og find så i
>>headeren hvad de kalder den.
>>
>>Kender ikke 8515, men IAR har ofte
>>intrinsic funktioner der hedder
>>__enable_interrupts() ,
>>__disable_interrupt() og evt
>>save_interrupt() , som
>>du (med fordel) kan bruge.
>>
>>tpt
>>
>>
>>"Tomas ." <huttelbuttel@hotmail.com>
>>skrev i meddelelsen
>>news:11998310210.345590661735947@dtext
>>.news.tele.dk...
>>> Som Rookie i brug af AVR-controllere
>>>er jeg lidt i tvivl mht. brug af
>>> interrupts.
>>>
>>> Når man skal benytte interrupts,
>>>skal man først unmaske det eller de
>>> interrupts, man skal anvende.
>>> Herefter enables alle unmaskede
>>>interrupts. Dette gøres med registeret
>>> GIMSK.
>>> Jeg benytter en ATMega8515 til mit
>>>projekt. Problemet er her, at GIMSK
>>> ikke optræder i headerfilen.
>>>
>>> What to do?
>>> Hvordan laver man så den globale
>>>unmaskning af interrupts på denne
>>> controller?
>
> Jeg benytter mig netop af en - ellers rigtig god bog til AVR,
> der hedder "Embedded C Programming and the Atmel AVR" - Rigtig
> god bog, synes jeg. Denne benytter samtidig CodeVision som
> compiler, hvilket jeg også gør. Deres eksempler kører dog for
> det meste på en AT90S8535. Dennes headerfil har defineret GIMSK,
> men denne er ikke defineret i headeren for mega8515. Hvorfor ved
> jeg dog ikke.
>
> --
> Mvh.
>
> Tomas
>


Tomas . (11-01-2008)
Kommentar
Fra : Tomas .


Dato : 11-01-08 11:20

Jesper Vium Kalms <Jesper@kalms.dk> skrev:
>Har du et register der hedder GICR?
>Jeg fandt et eksempel på Google, hvor
>der var gjort følgende:
>
>#define GIMSK GICR
>
>Jeg har dog intet indblik i den
>processor, så jeg ved ikke om det giver
>mening.

Det har jeg faktisk - det prøver jeg da lige

--
Mvh.

Tomas


Ukendt (09-01-2008)
Kommentar
Fra : Ukendt


Dato : 09-01-08 22:23


Så lige at du ikke skrev noget om compiler.
IAR var noget jeg fandt på.

tpt


Søg
Reklame
Statistik
Spørgsmål : 177420
Tips : 31962
Nyheder : 719565
Indlæg : 6407871
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste