Denisvak 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба Добрый день. Тут такой прикольчик у меня наблюдается: Работаю с Mega16, запускаю у неё UART на любой скорости, посылаю с неё всего один байт 0x0D, а в терминалке получаю два байта 0x0D и 0x0A. Причем это наблюдается токо когда отсылаю именно 0x0D и всегда после него принимается 0x0A. Если слать скопом толпу байтов где нет байтов равных 0x0D то все Ок, сколько послал столько и принял и пакет правильный. А если с 0x0D то получаю пакет длиннее на столько байтов сколько раз встретился 0x0D в пакете. Что может быть за мистика? :( Мега работает с кварцем 16МГц и скорость UART никак не влияет на данный странный баг. Инициализация выполнена так: UCSRA=0x02; UCSRB=0x18; UCSRC=0x8E; UBRRH=0x00; UBRRL=0x22; отправка так: void uart_send_char(unsigned char data){ while ( !( UCSRA & (1<<5)) ); UDR = data; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 121 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба посылаю с неё всего один байт 0x0D, а в терминалке получаю два байта 0x0D и 0x0A.Это одно из чудес виндового Гипертерминала. Ваш процессор работает правильно. В настройках (Propertities->Settings->ASCII-setup) есть галочка append line feeds to incoming line ends. Проверьте, стоит ли она. Помню, что иногда и она не помогает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Denisvak 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба Это одно из чудес виндового Гипертерминала. Ваш процессор работает правильно. Я использую терминал который в CodeVisionAVR :07: и просматриваю данные в hex Ну на всякий случай набросаю тогда кодик своей терминалки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aesthete Animus 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба Попрбуйте терминалку Zoc ( http://www.emtec.com/zoc/ ). С ней у меня никогда не было проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба Я использую терминал который в CodeVisionAVR :07: и просматриваю данные в hex Ну на всякий случай набросаю тогда кодик своей терминалки... В настройках кодывиженовской терминалки надо убрать 2 галочки: Append LF On Reception Append LF On Transmittion В общем такое поведение терминалки своими корнями уходит глубоко в историю 0x0D - переход на след. строку 0x0A - перевод печатающей каретки в начало строки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Denisvak 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба В настройках кодывиженовской терминалки надо убрать 2 галочки: Append LF On Reception Append LF On Transmittion В общем такое поведение терминалки своими корнями уходит глубоко в историю 0x0D - переход на след. строку 0x0A - перевод печатающей каретки в начало строки. Оппаньки и правда, Спасибо, никогда бы не подумал. Вопрос снят, всем спасибо ещё раз!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 16 марта, 2008 Опубликовано 16 марта, 2008 · Жалоба В общем такое поведение терминалки своими корнями уходит глубоко в историю 0x0D - переход на след. строку 0x0A - перевод печатающей каретки в начало строки. С точностью наоборот. :) 0D - "ВК" по рос. терминологии (возврат каретки) "\r" по Си. "Enter" 0A - "ПС" по рос. терминологии (перевод строки) "\n" по Си. "LF" Кстати иногда дополняется и наоборот. Кроме того, виндовый терминал имеет глюки, которые неустранялись практически с момента написания. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 17 марта, 2008 Опубликовано 17 марта, 2008 · Жалоба 0D - "ВК" по рос. терминологии (возврат каретки) "\r" по Си. "Enter" 0A - "ПС" по рос. терминологии (перевод строки) "\n" по Си. "LF" Если быть совсем точным , то 0D - "ВК" по рос. терминологии (возврат каретки) "\r" по Си. "CR" (Carriage Return) 0A - "ПС" по рос. терминологии (перевод строки) "\n" по Си. "LF" (Line Feed) :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 17 марта, 2008 Опубликовано 17 марта, 2008 · Жалоба Точно. :) А то мозги отшибло и не смог вспомнить. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться