Perguntas com a marcação «isr»


2
As atribuições de ponteiros de função são atômicas no Arduino?
Os seguintes trechos são do código-fonte da biblioteca 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; // register …



2
Interrupção do Arduino (na troca de pinos)
Eu uso a função de interrupção para preencher uma matriz com valores recebidos 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; } Esse problema é que, quando imprimo, test_arrayexistem valores como: 111ou 000. Pelo que entendi, se eu …
8 arduino-uno  c  isr 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.