attachinterrupt для счетчика

Yer
Offline
Зарегистрирован: 12.02.2016

Здравствуйте всем, не получается правильно считать импульсы.Подаю прямоугольные имульсы включением 5мс 

но скетч при входе импульса на вход ардуино считает не останавливается останавливается если только отключаешь сигнал полностью
 
int butint=0;
volatile int colimp=0;
void setup() {
  attachInterrupt(butint,swap,RISING);
Serial.begin(9600);
}
void swap(){
colimp++;
 } 
void loop() {
  Serial.print("ms:");
Serial.println(colimp);
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вы же здесь не первый день! 

Выложите скетч как положено- http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

Ну и объясните пожалуйста, что значит "считает - не останавливается". Он же у Вас должен каждые 5 мс счётчик увеличивать, с чего ему останавливаться-то?

Yer
Offline
Зарегистрирован: 12.02.2016
вот например оператор pulseIn считает длительность импульса правильно,мне сказали его два три в одном скетче нельзя использовать вот и стараюсь с attachinterrupt 
int butint=0;
volatile int colimp=0;
void setup() {
  attachInterrupt(butint,swap,RISING);
Serial.begin(9600);
}
void swap(){
colimp++;
 } 
void loop() {

  Serial.print("ms:");
Serial.println(colimp);

}

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Yer, а вы действительно не видите разницы между счётом длительности импульсов, и счётом количества импульсов? Или что на ваш взгляд вы подсчитываете в первом скетче?

Yer
Offline
Зарегистрирован: 12.02.2016

Все оказывается намного сложнее чем я думал 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Yer пишет:

Все оказывается намного сложнее чем я думал 

Есть много на свете, брат Горацио, ...