Questions marquées «isr»


2
Les affectations de pointeurs de fonction sont-elles atomiques dans Arduino?
Les extraits suivants proviennent du code source de la bibliothèque TimerOne : // TimerOne.h: void (*isrCallback)(); // TimerOne.cpp: ISR(TIMER1_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt { Timer1.isrCallback(); } // TimerOne.cpp: void TimerOne::attachInterrupt(void (*isr)(), long microseconds) { if(microseconds > 0) setPeriod(microseconds); isrCallback = isr; …



2
Interruption Arduino (lors du changement de broche)
J'utilise la fonction d'interruption pour remplir un tableau avec des valeurs reçues de digitalRead(). void setup() { Serial.begin(115200); attachInterrupt(0, test_func, CHANGE); } void test_func(){ if(digitalRead(pin)==HIGH){ test_array[x]=1; } else if(digitalRead(pin)==LOW){ test_array[x]=0; } x=x+1; } Ce problème est que lorsque j'imprime, test_arrayil existe des valeurs telles que: 111ou 000. Si je comprends …
8 arduino-uno  c  isr 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.