Непонятный для меня баг
- Войдите на сайт для отправки комментариев
Сб, 23/04/2022 - 17:23
#define ButtHigh 10 #define ButtLow 11 #define RelHigh 7 #define RelLow 8 #define R 5 volatile int count=0; bool FlagHigh=0; bool FlagLow=0; void setup(){ pinMode(ButtHigh,INPUT); pinMode(ButtLow,INPUT); digitalWrite(R,HIGH); digitalWrite(RelHigh,HIGH); digitalWrite(RelLow,HIGH); pinMode(RelHigh,OUTPUT); pinMode(RelLow,OUTPUT); pinMode(R,OUTPUT); pinMode(2,INPUT); attachInterrupt(0,EncF,RISING); } void EncF(){ count++; } void loop(){ if(digitalRead(ButtLow)==LOW&&FlagLow==0){ FlagLow=1; for (count=0; count<5;) { digitalWrite(RelLow,LOW); digitalWrite(R,LOW); } digitalWrite(RelLow,HIGH); digitalWrite(R,HIGH); delay(1000); } if(digitalRead(ButtLow)==HIGH&&FlagLow==1){ FlagLow=0; } //00000000000000000000000000000000000000000000 if(digitalRead(ButtHigh)==LOW&&FlagHigh==0){ FlagHigh=1; for (count=0; count<10;) { digitalWrite(RelHigh,LOW); digitalWrite(R,LOW); } digitalWrite(RelHigh,HIGH); digitalWrite(R,HIGH); delay(1000); } if(digitalRead(ButtHigh)==HIGH&&FlagHigh==1){ FlagHigh=0; } }
Вот такой мой кривой код аномально ведет себя в эмуляторе https://wokwi.com/projects/new/arduino-mega Вот линк на схему https://dropmefiles.com/BzWDN А суть в том что одна и та же кнопка в случайном порядке включает любую лампочку, при том это происходит при любых комбинациях нажатий. Баг я сам найти не смог. Подскажите, пожалуйста, где я ошибся
Вы в Wokwi нажмите Save и скопируйте сюда итоговую ссылку ?!
https://wokwi.com/projects/329754111725535828
Решено. Можете не ломать голову, в железе все работает как часы. Эмулятор - багованное гавно. Хоть он и помог мне поймать один мелкий баг в более ранней версии моего кода, а может и не баг, а может это был баг исключительно эмулятора. Не верьте эмуляциям с этого эмулятора, они могут врать!
Ну, никогда не нужно рассчитывать на то что эмулятор это образец. Иногда случается что в нём всё хорошо, а в реале плохо, и наоборот. То бишь, это чисто помощник. Если делаешь стандартные вещи, то с эмулятором проблем нет. Как правило. Только и эмуляторы разные бывают.)
Вообще скорее этот код оно самое..."багованое говно".
Да, но факт в том что код работает, а эмулятор пи... врет
да вот сомнительно как-то он работает...
зачем. например. 5 раз подряд посылать на пины одно и то же значение?
ардуина не чета программисту, она понимает с первого раза :)
В коде куча бредятины и логических нелепостей...