Тип данных в interrupt

dmitriykis
Offline
Зарегистрирован: 29.01.2015

При выполнении алгебрарической операции

T = t - t_prev;

в серийный порт приходяи множество данных, но далекие от правды

При этом t и t_prev определяются из цикла attachInterrupt(), а  операция T = t - t_prev в цикле void loop() для уменьшения операций цикла attachInterrupt(). Переменные объявлены глобально

unsigned long t, t_prev = 0;
int T = 0;

В чем может быть проблема?

PS В программировании не силен, все как-то на примерах больше

toc
Offline
Зарегистрирован: 09.02.2013

volatile попробуйте.
и все переменные одного типа.

dmitriykis
Offline
Зарегистрирован: 29.01.2015

спс, это завтра, плата на работе

toc
Offline
Зарегистрирован: 09.02.2013

и прочитайте всё! тут http://www.gammon.com.au/interrupts
в том числе о critical section