Проблема VirtualWare и Serial+Softwareserial.

Paul_B
Offline
Зарегистрирован: 05.12.2016

Есть две ардуинки (нано китайские), которые общаются друг с другом по 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

то все опять начинает работать.

Paul_B
Offline
Зарегистрирован: 05.12.2016

Serial и SoftwareSerial настроены на 9600. Сами радиомодули еще не подключил, только в сетапе прописал указанные строки, никаких функций обмена по программе не использовал. Ардуинки моги без сбоев ночи на пролет общаться без этих прописанных строк. Поэтому дело исключительно в VirtualWare.

Случайно заметил закономерномерность. Зависания происходят, если через SoftwareSerial пытаюсь передавать символы # + но эти символы части команд, которыми общаются ардуинки.

Если передавать латинские буквы и цифры, то вроде передается все, но до конца этот вариант еще не оттестил.

Paul_B
Offline
Зарегистрирован: 05.12.2016

Проблему решил использованием I2C и VirtualWIre.

Подробности тут: http://arduino.ru/forum/programmirovanie/obshchenie-dvukh-i-bolee-arduin-po-shine-i2c-v-formate-master-master-s-odnovr#comment-253485