MEGA 2560 проблема чтения по UART
- Войдите на сайт для отправки комментариев
Пнд, 29/09/2014 - 23:25
Амиго в продолжении начатой ранее темы. Переустановил IDE в порт стали посылаться команды, модем на них отвечает, но контролер не понимает ответы. Проблема однозначно в софте так как запустил пробный скетч в мониторе порта на АТ запрос получаю правильный ответ.
кусочек кода который на УНО работает прилагаю, почему не работает на МЕГЕ не пойму.
Может, чего посоветуете?
void UART0_rx_on( void ) { UCSR0B |= ( 1 << RXCIE0 ); } void UART0_rx_off( void ) { UCSR0B &= ~( 1 << RXCIE0 ); } void UART0_setSearchString( unsigned char Response ) { UCSR0B &= ~( 1 << RXCIE0 ); searchFor = (const char*)pgm_read_word(&searchStrings[Response]); searchStr = Response; rx_i = 0; }
По всей видимости проблема в этом кусочке кода
Може твместо второго if прикрутить else для первого? Всяко логичнее будет.
Попробуй еще осциллографом потыкать между землей меги и Tx.
Осциллографом можно потыкать но как писал ранее проблема софтовая, на проверочном скетче на команды в терминал получаю правильные ответы от модема.
А уровни там точно TTL. Может RS232?
Я с одним пирометром в такую засаду попал. Пришлось колхозить преобразователь.
уровни точно ТТЛ на уно все работает на меге нехочет. на проверочном скетче при отправке в терминале ат команд модем отвечает. считаю что железо работает и проблема в софте
кури даташиты, одинаковы ли названия регистров. вот только такая тема проходила, не ты создавал?
там было про отправку через GSM данных на сервер о температуре кажется
Если байда с регистрами, то может таки проще переписать с использованием Serial-Serial3, чем воевать с ветряными мельницами?
Там один хрен всё через Serial.println и Serial.read делаться будет.
пробовал на сериал 1 не помогло
Помогите разобраться. Залил в мегу простой код.
В COM порт ничего не выводит. Пробовал на двух разных платах.
Добрый день.
Думаю, что во всторенном в IDE мониторе, ты увидишь только если отправлять на Serial0, по остальным нужно подключать конвертер к соответсвующим пинам.