Странноватенькая работа SerialPort-а
- Войдите на сайт для отправки комментариев
Прошу помощи у знающих: подскажите кто может знает какие тонкости?
Исходные дынне:
Arduino (тестировал как Uno, так и Nano) - конечно же китайские клоны, локальный компьютер соединенный по USB c Arduino, Web сервер Denver с которого идет посылка в Serial Port с помощью SerialPHP и нативным способом записи fwrite
у меня есть скетч:
void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
led3();
}
void led3(){
int sz = 100;
digitalWrite(4, 1);
delay(sz);
digitalWrite(4, 0);
delay(sz);
}
void led2(){
int sz = 100;
digitalWrite(3, 1);
delay(sz);
digitalWrite(3, 0);
delay(sz);
}
void loop() {
}
void serialEvent(){
while (Serial.available()){
int ch = Serial.read();
led3();led3();
}
}После загрузки скетча при отправки символов из PHP при помощи SerialPHP, да и просто методом
fwrite($file, chr(116));
все работает.
Но! стоит выключить(а потом включить) питание Arduino или открыть монитор порта, адекватная работа заканчивается. И при посылке данных через serial port происходит насколько я понимаю перезагрузка Arduino и спасает только загрузка скетча заново, после этого все начинает работать нормально
подскажите кто может знает какие тонкости?
А неадекватная - это какая? Ардуина песни поёт и со стола падает?
ардуина не моргает светодидом в положенном месте
void serialEvent(){ while (Serial.available()){ int ch = Serial.read(); led3();led3(); } }в то время когда после загрузки скетча, срабатывает и моргает
elfar, я думаю, то, что Вы написали в serialEvent, должно быть в loop. А led2 можете вообще выкинуть.