|
| 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
| |
|
|