Занят TX порт и не определяется Arduino

555-dimon-555
555-dimon-555 аватар
Offline
Зарегистрирован: 12.08.2013

Имеется такая проблема: залил скетч в котором происходит считывание с 5 аналоговых портов и их вывод по последовательному порту на терминал IDE Arduino. Сначала установил скорость 9600 бод все работало отлично, затем потребовалось выше скорость, установил 14400бод, залил скетч после чего постоянно горит TX led. Теперь ничего залить не получается, да и IDE Arduino не видит плату. Я так понимаю проблема заключается в том, что при попытке БольшимБратом послать данные по RX, ардуино не выдает понятного ответа по TX т.к он занят выдачей значений с аналоговых портов. Подскажите что делать.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Вы подождите, я щас допью чай и возможно чаинки мне раскажут куда и что вы там заливаете... Хотя Чай я буду пить долго. у вас есть время самому во всем признатся.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

чаинки мне говорят что вам нужно проверить настройки ком порта в IDE.. и убедится что вы правильный порт выбрали...

555-dimon-555
555-dimon-555 аватар
Offline
Зарегистрирован: 12.08.2013

Puhlyaviy пишет:

Вы подождите, я щас допью чай и возможно чаинки мне раскажут куда и что вы там заливаете... Хотя Чай я буду пить долго. у вас есть время самому во всем признатся.

Залил на BTE RoBot, это клон Duemilanove, на ней стоит Atmel ATmega328. Вот код программы:

#define A_N analogRead(pinA)
#define С_N analogRead(pinC)
#define B_N analogRead(pinB)
#define HS_N analogRead(pinHS)
#define VS_N analogRead(pinVS)

int pinA=0; int pinB=1; int pinC=2; int pinHS=3; int pinVS=4;

void setup()
{
  Serial.begin(14400);
}
void loop()
{
  Serial.print(A_N);
  Serial.print(B_N);
  Serial.print(C_N);
  Serial.print(HS_N);
  Serial.println(VS_N);
}

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

https://www.dipmicro.com/store/BTE-RCB2011

там вроде вон и драйвер нада свой и совместима она с UNO..

555-dimon-555
555-dimon-555 аватар
Offline
Зарегистрирован: 12.08.2013

Это не первый запуск, и до этого IDE видела плату. Еще раз повторюсь я перенапряг канал TX, и из-за этого последовательный порт работает не корректно. Это похоже на проблему когда горит RX led постоянно(сталкивался с таким), но при этом IDE разпазнает плату и в нее можно перезалить плохой код путем нажатия reset'a во время upload'а. Здесь это не проходит!

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

как можно перенапряч канал? изотерикой увлекаетесь? мистика и прочии непонятные явления?

а делать, возмите другую дуину, и пусть она выступит в роли програматора по SPI.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Т.е. залить скетч через последовательный порт тоже не работает ?? - похоже спалили ногу TX ...

Вариант решения:

1.программируем  через SPI и используем библиотеку ,позволяющую сделать другие пины последовательным портом

2.поменять м/к - легко,если он установлен на панельке..

 

Ещё можно проверить конвертор usb-rs232 ,вытащив м/к и закоротив rx tx вместе и в консоли отправляем любые данные мы должны получить их же..

Так же необходимо проверить не закоротили ли TX где нибудь или не заняли ли чем нибудь этот пин..

555-dimon-555
555-dimon-555 аватар
Offline
Зарегистрирован: 12.08.2013

Проблема РЕШЕНА! Всем большое спасибо за ответы! Не в железе дело было. Не знаю что именно произошло, но в итоге поставил среду Arduino 1.5.2(была 1.0.5)  и все вновь заработало.