Одиночный импульс

mag155
Offline
Зарегистрирован: 21.12.2017

Я думал считать по первому импульсу но проблема в том что нужно чтоб прибор работал на разных частотах а при изменении частоты время до следующего импульса изменится .

mag155
Offline
Зарегистрирован: 21.12.2017

Скиньте примерчик по PCINT. На одну кнопку а то че то трудновато по ссылке разабратся ?

mag155
Offline
Зарегистрирован: 21.12.2017

Вот так с миллис время включения импульса не смещается 


 unsigned long currentMillis = micros();

if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis; 
if ( flag == 1){
digitalWrite(8,1);


}
else {
digitalWrite(8,0);


digitalWrite(ledPin, ledState);

}
}
}

 

mag155
Offline
Зарегистрирован: 21.12.2017

На каком контроллере можно запускать три независимых таймера ???

nik182
Offline
Зарегистрирован: 04.05.2015

Не нужно 3 таймера. У вас импульсы разнесены во времени и не пересекаются. Нарисуйте в прерывании таймера case c номерами ног и делайте для каждой ноги одно и тоже. В прерывании от пересечения нуля присваивайте номер ноги для саse и будет вам счастье. 

А 3 таймера видел в stm32. Ещё видел трёхфарный выпрямитель с тремя корпусами дуинок - каждый для своей фазы и управлялись в параллель. Промышленное устройство за 20 000 руб. Не смогли на одном корпусе построить.  

mag155
Offline
Зарегистрирован: 21.12.2017

В том и суть что когда максимальная задержка нужна после первого импульса то и получается что по первому еще не отработали а уже второй пришел. В итоге диапазон регулирования не от ноля а от процентов 30 .

mag155
Offline
Зарегистрирован: 21.12.2017

Напишите примерчик как вы это видите буду благодарен .?