Interruption sur Attiny2313

Pour toutes vos questions sur WinAVR, AVR-GCC et la programmation en C en général

Modérateur: Modérateur

Interruption sur Attiny2313

Messagede Teos le 02 Mai 2008 17:13

Bonjours j'ai du mal à utiliser les interruptions, comme beaucoup d'autres, j'ai lu plusieurs sources et posts sur ce forum mais sans trouver de solution....
Je compte le nombre d'interruptions (pour une temporisation), voila le code:

Code: Tout sélectionner
//**** ISR : -----------------------------------------------------------------------
//**** Interruptions toutes les 0.02s ----------------------------------------------
ISR(TIMER1_COMPA_vect) // Interruption généré quand TCNT1 = OCR1A
{
   interruption++;
   TCNT1=0; //Relance le comptage
}


//---- Main : ----------------------------------------------------------------------
//---- Fonction principale ---------------------------------------------------------
int main (void)
{
   //Met le port B en sortie
   DDRB = 0b11111111;
   PORTB = 0;

   //Met le port D en sortie
   DDRD = 0b01100000;
   PORTD = 0;
   PIND = 0;

   // Initialisation du Timer 1
   TCCR1A = 0;
   TCCR1B = 0b00000101; //Prédivision par 1024
   OCR1A = (0.1*F_CPU)/1024; //0.1 est la durée en seconde avant interruption
   TIMSK |= 0b00010000;
   sei(); //Valide toutes les interruptions
   TCNT1 = 0;

   initialiserLCD();

   for(;;)   //Boucle infinie
   {
      effacerLCD(0);
      lireEntree();
   }

   return 1;
}


Voila si quelqu'un voit une erreur... :wink:
Teos
NOUVEAU
NOUVEAU
 
Messages: 1
Inscription: 02 Mai 2008 16:53

Messagede moustiqu3 le 04 Mai 2008 8:40

moi j'en vois une énorme

tu met le port B en sortie et tu dis donc
DDRB=0b11111111 (met 0xFF c'est plus facile et on vois plus facilement)

et tu dis que DDRD est une sortie est tu indique
DDRD=0b00000000 (c'est pour une entrée ça, sortie est 0xFF...donc si c'est une entrée indique 0x00)

C'est pas grand chose, mais bon.

Dis, je vois que tu utilise un écran LCD. Pourrais-tu me mettre un petit programme (je suppose qu'il faut 3 lignes) pour écrire un mot avec un afficheur LCD.
Genre bonjour, ou autre, parce que je ne pige pas super bien le système.
Ca m'aiderait pas mal.

Ha oui, je débute dans l'électronique, mais j'ai pris des règles telles que entrée sortie : hexadécimale.
Parler d'une pin d'un port (en binaire).

Voila, j'ai trouvé ue ça (dans un premier temps, et je te remercie dans un second
:-D )
moustiqu3
PONCTUEL
PONCTUEL
 
Messages: 20
Inscription: 12 Mar 2008 20:02


Retourner vers WinAVR-AVR GCC

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités