Работа с COM портом arduino

Работа с COM портом arduino

Сообщение AlRono » 28 апр 2013, 19:21

Разбираюсь в сабже. В дальнейшем есть необходимость управлять с компьютера ардуиной+шаговый двигатель. Т.е каким то образом надо с ПК говорить ардуине на сколько шагов и куда повернуть...

НООО пока что я даже в простой ерунде разобраться не могу!
Пытаюсь сделать так чтобы посылая с монитора порта единицу led горел, 0 - гас. Однако led загорается после открытия монитора порта, а потом гаснет сам по себе. Что бы я не посылал, никакой реакции. Так что можете надо мною посмеяться, но мне бы хоть хороший пример как это все работает...

Код: Выделить всё
int incomingb = 0;
int led = 13;

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    incomingb = Serial.read();
  }
  if (incomingb == 1)
 {
  digitalWrite (led, HIGH);
 }
else if (incomingb == 0)
{
  digitalWrite (led, LOW);
}
}
 
 
Аватара пользователя
AlRono
 
Сообщения: 4
Зарегистрирован: 28 апр 2013, 19:13

Re: Работа с COM портом arduino

Сообщение admin » 28 апр 2013, 19:32

AlRono писал(а):Однако led загорается после открытия монитора порта

при любой новой попытке просмотреть сообщения COM-порта наша плата перезагружается!
Всё дело в джампере Autoreset enable

Практическое программирование Arduino/CraftDuino - начало

По теме:
http://robocraft.ru/blog/arduino/76.html
http://robocraft.ru/blog/algorithm/108.html
http://robocraft.ru/blog/arduino/283.html
Аватара пользователя
admin
Администратор
 
Сообщения: 317
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград

Re: Работа с COM портом arduino

Сообщение AlRono » 28 апр 2013, 20:15

http://robocraft.ru/blog/arduino/76.html читал, да. Но будучи далеким от знания сих языков, понял не слишком полно. Было бы на вайринге, тогда да. Понятное дело что он - адаптированные "плюсы", но все же. Жаль Autoreset кроме как перебив контактик не вырубить

P.S
И все таки интересно, получается, мою программу нельзя подправить чтобы МК откликался на 0/1 с монитора?
Аватара пользователя
AlRono
 
Сообщения: 4
Зарегистрирован: 28 апр 2013, 19:13

Re: Работа с COM портом arduino

Сообщение admin » 28 апр 2013, 20:49

AlRono писал(а):И все таки интересно, получается, мою программу нельзя подправить чтобы МК откликался на 0/1 с монитора?

можно. нужно только учесть, что монитор посылает не 0 и 1, а '0' и '1'. Т.е. сравнивать нужно не с числом 0, а с символом 0 (т.е., с кодом символа 0).
Аватара пользователя
admin
Администратор
 
Сообщения: 317
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград

Re: Работа с COM портом arduino

Сообщение AlRono » 28 апр 2013, 21:16

Я это пробовал
Сначала (при том же коде) я сравнивал в if`е с '0' и '1', затем с их dec представлением 48 и 49.
И все равно 13 загорается только при открытии монитора, на команды 0/1 не реагирует и гаснет при закрытии монитора с характерными тремя подмигиваниями
Аватара пользователя
AlRono
 
Сообщения: 4
Зарегистрирован: 28 апр 2013, 19:13

Re: Работа с COM портом arduino

Сообщение admin » 29 апр 2013, 10:09

а перенести процедуру проверки поступившего байта внутрь вот этого иф-а:
Код: Выделить всё
if (Serial.available() > 0) {
    incomingb = Serial.read();
    // проверка
}

пробовали? :)
Аватара пользователя
admin
Администратор
 
Сообщения: 317
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград

Re: Работа с COM портом arduino

Сообщение AlRono » 29 апр 2013, 21:01

Спасибо, помогло!
Только не без косяков конечно. При открытии монитора порта 13`й диод загорается. Затем некоторое время не дает себя контролировать. Затем в зависимости от 0/1 гаснет/зажигается. Затем при закрытии монитора COM порта три раза мигает и вырубается. Meh...
Аватара пользователя
AlRono
 
Сообщения: 4
Зарегистрирован: 28 апр 2013, 19:13

Re: Работа с COM портом arduino

Сообщение admin » 30 апр 2013, 06:26

AlRono писал(а):три раза мигает и вырубается.

это признак работы загрузчика. вы же, кажется, прочитали про атосброс? О_о
Аватара пользователя
admin
Администратор
 
Сообщения: 317
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2019 |  О проекте  |  Политика Конфиденциальности  |