Официальный сайт компании Arduino по адресу arduino.cc
Как програмировать ардуино с установленным XBee?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ср, 25/07/2012 - 15:13
Правильного способа не знаю, методом проб и ошибок знаю только один способ - снимать Xbee модуль с ардуинки каждый раз когда нужно залить прошивку иначе UART Xbee модуля конфликтует с чипом на плате арудинки через который идет заливка с компа. И тот и тот использую D0/D1 RX/TX входы контроллера
Ситуация с Arduino FIO усугубляется еще и тем, что после програмирования приходится отключать USB-TTL адаптер (через который в FIO заливается прошивка) иначе не возможно считать данные с модуля XBee через библиотеку Serial
Не нашлось другого решения кроме снимать xBee ?
Не нашлось другого решения кроме снимать xBee ?
Заливать скетчи через USBaspLoader http://www.obdev.at/products/vusb/usbasploader.html
Хотя... тогда плату Ардуино тогда вообще можно выбросить - накуя она такая кому нужна?
Заливать скетчи через USBaspLoader http://www.obdev.at/products/vusb/usbasploader.html
[/quote]
в общем то вы правы, можно любым програматором через ISP вместо UART-а, либо что еще круче - без проводов через сам XBee модуль. С последним пока не разобрался, скорее всего надо брать связку модуля XBee->USB и ПО от iDigi которое организует на компе серийный порт. Далее нужно инициировать соединение с нужным модулем, открыть ардуину студию и залить через тот серийнф порт скетч.
а вот и статья на ненавистном хархабаре http://habrahabr.ru/post/126539/
Хотя... тогда плату Ардуино тогда вообще можно выбросить - накуя она такая кому нужна?
ардуина это же не только заливка через бутлоадер, это среда програмирования, набор библиотек и философия)) если заливать через ISP ардуина остается ардуиной, а вот бутлоадер тогда не ясно зачем нужен ))
однако статья на хархаюаре слизана с первоичточника, лучше уж пользоваться первоисточником
http://www.ladyada.net/make/xbee/arduino.html - для всех ардуинок
http://arduino.cc/es/Main/ArduinoBoardFioProgramming - особенности ардуино FIO
Возможно, вы не уловили смысл предложенного варианта.
Как это работает в теории:
- загрузчик программно прикидывается ISP программатором USBasp, но! т.к. реализован на железе самого контроллера, то требует подключения к USB всего по двум линиям - по затратам аналогично подключению по UART, но более гибок в выборе ног МК для подключения, единственным обязательным условием является использование ноги INT0.
Как это работает на практике:
- у вас на плате с МК две кнопки: "RESET" и "Init boot loader".
- нажимаете "Init boot loader", сбрасываете МК кнопой "RESET", удерживая "Init boot loader"(варианты поведения можно выбрать в конфигах при компиляции, если не хочется держать кнопы руками или привыкли работать по таймауту) - у вас в системе появляется программатор USBasp, ставите на него драйвера и он готов прошить флеш контроллера из под IDE Arduino, после загрузки скетча работа лоадера завершается и управлени МК передаётся основной прошивке(скетчу).
Но, в железном остатке у вас получается плата Ардуино с двумя USB - один(железный сериал-порт) не используется, а второй(USBaspLoader) - используется. Поэтому и возникает вопрос, а замем вообще плата нужна, если достаточно одного МК с кварцем и USB-разъёмом?
Среда программирования остаётся и успешно пользуется.
мда... как бы попроще избавиться от необходимости выдергивать XBee во время отладки и частой заливки скетчей ?
Может соединить RX TX двух ардуин и убрать хВее на время тестирования ?
Вам нужно аппаратно освободить пины RX, TX МК Ардуино, что для этого нужно сделать? - путём длительных логических измышлений приходим к выводу, что "нужно аппаратно освободить пины RX, TX".
Но! - это ведь так сложно, сидим и думаем дальше, как бы так сделать, что бы ничего не делать.
Вообще есть способ. Перемыкаете резисторы показанные на картинке, а xBee подключаете через резисторы такого же номинала 1кОм.
Чудес точно не бывает, сомневаюсь, что ардуины будуть прошиватьмя, если их rx tx соединить вместе
проблема же не в xbee как таковом, а в том, что при загрузке через загрузчик пины rx tx должны быть совершенно свободны от подключений.
Выходы уже озвучены выше: как минимум два: 1. Прошивать внешним програматором 2. Прошивать через модуль xbee
Вообще есть способ. Перемыкаете резисторы показанные на картинке, а xBee подключаете через резисторы такого же номинала 1кОм.
наверно так заработает, но например если скажем запрограмировать пин rx на вывод то легко спалить ft232/atmega8u2
Тогда резистор RN4A не перемыкать, а заменить например на 100 Ом.
неизящно конечно. Но решение. Прошу прощения у гуру. Можно использовать Leonardo.
Хотя в проблеме модель Arduino не конкретизировалась.