грею паяльник ..
ошибки нет так как проверял немколько раз.
садить прямо на массу или через какоето сопротивление?
а почему должнобыть +5в?
Вот полный скетч:
Код:
#include <TimerOne.h>
#define BTNPIN 2
volatile uint16_t lengthImpuls, timerCount;
//oscilloscope
//http://compcar.ru
byte head[3]={170,204,195};
byte MyBuff[800];
unsigned int i=0;
void setup()
{
Serial.begin(115200);
/* LOW — вызов прерывания всякий раз,
когда на порту низкий уровень напряжения;
CHANGE – прерывание вызывается при изменении
значения на входе;
RISING – вызов прерывания при изменении уровня
напряжения с низкого (LOW) на высокое(HIGH)
FALLING – вызов прерывания при изменении уровня
напряжения с высокого (HIGH) на низкое (LOW)*/
lengthImpuls=0;
pinMode (BTNPIN, INPUT);
Timer1.initialize(10);
Timer1.attachInterrupt(callback);
attachInterrupt(0, fireUp, RISING);
}
void loop()
{
for (i=0; i < 800; i++)
{
MyBuff[i] = analogRead(0)/4;
}
Serial.write(head,3);
Serial.write(MyBuff,800);
}
void callback()
{
timerCount++;
}
// Функция обработки прерывания на подъем
void fireUp()
{
timerCount=0;
detachInterrupt(0);
attachInterrupt(0, fireDown, FALLING);
}
// Функция обработки прерывания на падение
void fireDown()
{
lengthImpuls = timerCount;
detachInterrupt(0);
attachInterrupt(0, fireUp, RISING);
}