Ситуация такая. У меня есть Arduino, где-то месяца два она лежала на полке, и вроде как не получала никаких повреждений. Недавно она мне опять понадобилась. Но как оказалось, не работает считывание с последовательного порта. Программа в ардуину шлется, и сама она на компьютер по последовательному порту данные исправно отправляет, компьютер их исправно принимает. Но в обратную сторону связь не работает. При отправке чего-то с компьютера на плату, на плате исправно загорается RX. Но вот в самой программе данные, почему-то, недоступны.
Например такая программа:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.write(Serial.read());
}
При отправке на arduino через последовательный порт данных(как через монитор порта в IDE, так и с помощью собственных простеньких программ на Python или С++) Arduino не возвращает ничего.
Если сделать, например, такую программу:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("I am sending");
}
То ардуина будет исправно отправлять на компьютер "I am sending"
Ранее (2 месяца назад) данные исправно отправлялись и принимались.
Догадка 1:
Может быть дело в том, что ранее я пользовался драйвером, создающим виртуальный Serial порт из Arduino IDE версии 1.0.5 , а сейчас перешел на Arduino IDE 1.6.4(причем устанавливал прямо на версию 1.0.5) Информации, где говорилось бы о том, что Mega2560 что то не поддерживает в новой IDE я не нашел.
Примечание:
После установки IDE 1.6.4 я не смог установить версию ниже, или переустановить 1.6.4, ибо выдавалась ошибка NSIS_Error, решил написать, хотя ошибка в принципе не связана с темой, тут нужно мусор чистить...
Догадка 2:
Windows 7, который я сейчас использую, уже довольно давно не переустанавливал, и гдето месяц назад произошло проишествие, в результате которого я полностью перенастраивал систему(реестр, автозагрузка, службы). Сейчас стоит два антивируса DrWEB и SpyHunter, один мониторит все подряд, другой использую раз в неделю для сканирования на вирусы. Думаю что либо я что-то не включил(службу например) или настроил неправильно, или это антивирус блокирует передачу по Serial порту. Но ведь загрузка программы то работает(и в момент загрузки работает как TX так и RX (светодиод))
Догадка 3:
По неизвестным причинам плата пришла в негодность.
Догадка 4:
Кроме того, на плате горит и никогда не гаснет(если самому не погасить) светодиод L, он горит желтым цветом, и мигает только при рестарте. Где-то слышал, что он горит в момент открытия последовательного соединения. Это что получается, последовательное соединение виснет при загрузке? Но ведь отправка то работает.
Помогите пожалуста) уж очень не хочется покупать еще одну плату из-за этого.(если дело в ней). Догадки тоже приветствуются.