Зависание COM-порта на котром сидит Mega 2560

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

Зависание COM-порта на котром сидит Mega 2560

Сообщение Marvin » 23 май 2011, 12:19

Мега у меня китайская.
Разбирался с управлением сервой. Поворт на лево, центр, на право. (стандартный скетч из сэмплов: myservo.write(val); ). Для удобства добавил код (опять же стандартный "button", что бы очередной цикл loop() выполнялся только после нажатия кнопки. Работает все нормально. Но после нескольких upload-ов начинаю получать сообщение среды, о том, что порт занят. Несколько раз ресетил контроллер, вынимал его из USB, отключал/подключал порт в Win7. Не помогал. Из Ubuntu было то же самое.

Написал под Win утилиту, которая пыталась открыть COM-порт на котором контроллер сидит, если удалось открыть, закрывает. Выяснилось следующее:
Отключаю контроллер от USB, подключаю.
Запускаю свою утилиту: Порт свободен
Запускаю среду: Порт свободен
Жму в среде "upload", думает... тоже говорит, что [b]Порт занят/b]. TX/RX ни когда на котролере не мигают.
Закрываю среду: [b]Порт занят/b].

Так продолжалось некоторое время. Я подумал, может код у меня кривой и пытался Blink залить. Кое как удалось. Потом и мой код стал нормально заливаться. Пишу с работы, чуть позднее выложу код.

До этого была проблема, когда я писал код для работы с двумя 7-сегментными индикаторами. Подсвечивал циклически сегменты, тогда среда ругалась, что контроллер не отвечает, но потом все же удалось Blink запихать.

Есть ли возможнось что-то делать, что бы отменить выполнение залитой прошивки, какой-то аналог hard-reset для WinMobile?
Аватара пользователя
Marvin
 
Сообщения: 40
Зарегистрирован: 11 апр 2011, 21:31
Откуда: Россия, Москва, Ярославль
прог. языки: Кроме C# и Basic

Re: Зависание COM-порта на котром сидит Mega 2560

Сообщение dccharacter » 23 май 2011, 12:29

На ногах RX/TX ничего не висит?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Зависание COM-порта на котром сидит Mega 2560

Сообщение galex1981 » 23 май 2011, 12:31

В какой среде пишете программу под Win? Используете какую библиотеку для связи с COM портом?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Зависание COM-порта на котром сидит Mega 2560

Сообщение dccharacter » 23 май 2011, 12:33

Ээээ. Arduino IDE, версия 022, я надеюсь?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Зависание COM-порта на котром сидит Mega 2560

Сообщение Marvin » 23 май 2011, 12:40

На TX/RX ни чего.
  • myservo.attach(9); // attaches the servo on pin 9 to the servo object
  • pushbutton attached to pin 2 from +5V
  • 10K resistor attached to pin 2 from ground
Arduino IDE, версия 022 :good:

galex1981 писал(а):Используете какую библиотеку для связи с COM портом?
Не понял. Все стандартно.
Аватара пользователя
Marvin
 
Сообщения: 40
Зарегистрирован: 11 апр 2011, 21:31
Откуда: Россия, Москва, Ярославль
прог. языки: Кроме C# и Basic


Вернуться в Arduino и другие Xduino

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

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