Непонятная остановка посреди выполнения функции
- Войдите на сайт для отправки комментариев
Ср, 18/05/2016 - 10:11
Проблема в том что он подключен к сотовму(android) через блютуз(hc-06). Все работает на ура . только вот при нажатии на кнопку на смартфоне платформа выполняет команду полторы секунды а потом прекращает, как это исправить.
это код ардуино шасси на 2 моторах с драйвером l298n.
int IN1 = 3; //input1 подключен к выводу int IN2 = 2; int IN3 = 4; //input1 подключен к выводу int IN4 = 5; int a = 0; void setup() { Serial.begin(9600); pinMode (IN1, OUTPUT); pinMode (IN2, OUTPUT); pinMode (IN3, OUTPUT); pinMode (IN4, OUTPUT); } void loop() { if (Serial.available()) { a = Serial.parseInt(); if (a==1) { //назад digitalWrite (IN2, HIGH); digitalWrite (IN1, LOW); digitalWrite (IN4, HIGH); digitalWrite (IN3, LOW); } if (a==2) { //вперед digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } if (a==3) { //ну и типо такого поворты все дела digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); } if (a==4) { digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } if (a==5) { digitalWrite (IN1, LOW); digitalWrite (IN2, HIGH); } if (a==6) { digitalWrite (IN3, LOW); digitalWrite (IN4, HIGH); } if (a==0) { //типо стоп digitalWrite (IN1, LOW); digitalWrite (IN2, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, LOW); } } }
http://arduino.ua/ru/prog/Serial/ParseInt
Если в течение одной секунды не найдено ни одного целого числа, то, по умолчанию, функция вернет значение 0. Величина таймаута задается функцией Serial.setTimeout().
видать у тебя в сериал не приходят числа инт :)
и кстати вроде это только на меге работает...
А как сделать на uno. чтоб при нажатии выполнялось пока не отпустишь кнопку.
Все нашаел способ, надо вставить Serial.setTimeout(//тут чем больше тем лучше);
Все нашаел способ, надо вставить Serial.setTimeout(//тут чем больше тем лучше);
не правильно..... у тебя вообще все остановится...