Официальный сайт компании Arduino по адресу arduino.cc
Проблема VirtualWare и Serial+Softwareserial.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 17/01/2017 - 18:44
Есть две ардуинки (нано китайские), которые общаются друг с другом по Softwareserial, реализованным через A0 и A1 (указаны на 14 и 15). Данные их общения выводятся по стандартному Serial порту на экран. Все здорово.
Но вот если я на одной из ардуин подключаю VirtualWare библиотеку и в сетап вношу строки для настройки приемника:
vw_set_ptt_inverted(true); // для передатчика
// vw_set_tx_pin(R_TX);
vw_set_rx_pin(R_RX);
vw_setup(1700);// скорость передачи данных в Kbps
vw_rx_start(); // Start the receiver PLL running
то на этой ардуине сразу перестает приниматься информация через SoftWareSerial и выводиться просто информация на экран через Serial порт.
Если комментирую строчку
vw_rx_start(); // Start the receiver PLL running
то все опять начинает работать.
Serial и SoftwareSerial настроены на 9600. Сами радиомодули еще не подключил, только в сетапе прописал указанные строки, никаких функций обмена по программе не использовал. Ардуинки моги без сбоев ночи на пролет общаться без этих прописанных строк. Поэтому дело исключительно в VirtualWare.
Случайно заметил закономерномерность. Зависания происходят, если через SoftwareSerial пытаюсь передавать символы # + но эти символы части команд, которыми общаются ардуинки.
Если передавать латинские буквы и цифры, то вроде передается все, но до конца этот вариант еще не оттестил.
Проблему решил использованием I2C и VirtualWIre.
Подробности тут: http://arduino.ru/forum/programmirovanie/obshchenie-dvukh-i-bolee-arduin-po-shine-i2c-v-formate-master-master-s-odnovr#comment-253485