Управление ногами 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 - проблема ушла.
только теперь запрограммировать чтобы конденсатор надо снимать