Outils pour utilisateurs

Outils du site


td2_tns

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
td2_tns [2015/03/29 23:44]
bvandepo
td2_tns [2016/03/29 17:00] (Version actuelle)
bvandepo [Configuration du timer 2 en générateur d'interruptions]
Ligne 53: Ligne 53:
 ===Solution:​=== ===Solution:​===
 <file cpp configtimer.cpp>​ <file cpp configtimer.cpp>​
 +void setupTimer2(unsigned char prescaler, unsigned int period){
   TCCR2A = 0;// set entire TCCR2A register to 0   TCCR2A = 0;// set entire TCCR2A register to 0
   TCCR2B = 0;// same for TCCR2B   TCCR2B = 0;// same for TCCR2B
   TCNT2  = 0;//​initialize counter value to 0   TCNT2  = 0;//​initialize counter value to 0
-  OCR2A = 124;+  OCR2A = period;
   // turn on CTC mode   // turn on CTC mode
   TCCR2A |= (1 << WGM21);   TCCR2A |= (1 << WGM21);
-  TCCR2B |= (1 << CS21); // config of prescaler+  TCCR2B |= prescaler & 0x7; // config of prescaler
   // enable timer compare interrupt   // enable timer compare interrupt
   TIMSK2 |= (1 << OCIE2A); ​   TIMSK2 |= (1 << OCIE2A); ​
 +}
 </​file>​ </​file>​
 </​ifauth>​ </​ifauth>​
Ligne 81: Ligne 83:
   void setupADCPolling()   void setupADCPolling()
   {   {
 +        ADCSRB=0; ​
  ADCSRA ​  = 1 << ADPS2 | 1 << ADPS1 | 1 << ADPS0 | 1 << ADEN; // div 128, enabled  ADCSRA ​  = 1 << ADPS2 | 1 << ADPS1 | 1 << ADPS0 | 1 << ADEN; // div 128, enabled
-        ADMUX    = 0;  //choix entrée analogique 0 et référence de tension =VCC+        ADMUX    = 1 << 6;  //choix entrée analogique 0 et référence de tension =VCC
   }   }
   /*! \brief ADC Conversion Routine in single ended mode */   /*! \brief ADC Conversion Routine in single ended mode */
td2_tns.1427665493.txt.gz · Dernière modification: 2015/03/29 23:44 par bvandepo