Управление ногами Arduino по RS232
- Войдите на сайт для отправки комментариев
Пт, 22/05/2015 - 15:05
Потребовалось управлять ногами Arduino по RS232. Написал простейший код:
#include <stdlib.h>
char incomingByte;
void setup() {
Serial.begin(9600);
for(int i=2; i<=9; i++)
pinMode(i,OUTPUT);
}
void loop() {
if(Serial.available()==2){
incomingByte = (char)Serial.read();
int pin = (char)Serial.parseInt();
switch(incomingByte) {
case '0':
digitalWrite(pin,LOW);
break;
case '1':
digitalWrite(pin,HIGH);
break;
}
}
}
Но возникла проблема в том, что при каждом подключении к консоли с помощью minicom или любой другой консольной программы ардуина сбрасывает все ноги в 0. Подскажите, в связи с чем это может быть связано? И как бороться?
физическом подключении или просто при запуске программы? не отключая при этом
Подключились терминалкой - подняли ногу - отключились. При этом Arduino подключена к компьютеру. Опять подключаемся... и состояние ног сбрасывается.
Т.е. ардуина не отключается от компьютера. Проблема так же наблюдается с простейшим Python приложением, который выдергивает из аргуметов команду и порт и передает их по RS232 в Arduino.
проверь dtr не дергается при подключении
хм.. и правда. Повесил 10uF конденсатор между RESET и GND - проблема ушла.
только теперь запрограммировать чтобы конденсатор надо снимать