Interruzioni di tipo 1

Forum relativo alle schede FLEX, ERIKA Enterprise, RT-Druid, ScicosLab, ...

Moderator: paolo.gai

Locked
ThomasThommy
Newbie
Posts: 5
Joined: Thu Oct 06, 2011 12:35 pm

Interruzioni di tipo 1

Post by ThomasThommy » Mon Oct 24, 2011 4:18 pm

Salve a tutti!! Volevo chiedervi come si fanno a utilizzare interruzioni di tipo 1, cioè quelle Hardware. So che a differenza i quelle di tipo 2 è necessario trasformare un task legato a tali interruzioni in una semplice funzione da passare a quella utile per generare tali interruzioni. Mi sono guardato un po' di librerie del druido ma non ho trovato niente... Grazie mille!!!




Thomas

paolo.gai
Administrator
Posts: 875
Joined: Thu Dec 07, 2006 12:11 pm

Re: Interruzioni di tipo 1

Post by paolo.gai » Thu Nov 03, 2011 8:42 am

Ciao,

RT-Druid non gestisce direttamente le interruzioni di tipo 1. Di fatto sono lasciate "all'utente", per cui devi scrivere direttamente una funzione usando gli attributi del compilatore per farla diventare una funzione "di tipo interrupt". tale settaggio dipende molto dal compilatore e dalla piattaforma usata.

Ciao,

Paolo

ThomasThommy
Newbie
Posts: 5
Joined: Thu Oct 06, 2011 12:35 pm

Re: Interruzioni di tipo 1

Post by ThomasThommy » Thu Nov 10, 2011 12:20 am

Grazie mille. Ho risolto usando le funzioni/attributi del compilatore come per esempio:

Code: Select all

void __attribute__((__interrupt__, __shadow__)) _T1Interrupt(void){...}

paolo.gai
Administrator
Posts: 875
Joined: Thu Dec 07, 2006 12:11 pm

Re: Interruzioni di tipo 1

Post by paolo.gai » Thu Nov 10, 2011 8:36 am

Esatto! bisogna fare esattamente cosi'.

Nota che dentro quelle funzioni NON puoi chiamare primitive del sistema operativo.

Ciao,

Paolo

Locked