Domande taggate «isr»


2
Le assegnazioni di puntatori di funzioni sono atomiche in Arduino?
I seguenti frammenti provengono dal codice sorgente della libreria 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
Interruzione di Arduino (al cambio pin)
Uso la funzione di interruzione per riempire un array con i valori ricevuti da 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; } Il problema è che quando stampo test_arrayci sono valori come: 111o 000. A quanto mi risulta, …
8 arduino-uno  c  isr 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.