Сорри, графика половину вопроса съела. Вот полный текст вопроса.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено EagleB3 11 декабря 2003 г. 15:06
В ответ на: Растолкуйте, pls: AVR <-> RS232 отправлено EagleB3 11 декабря 2003 г. 15:04

Экспериментирую.
Хочу присобачить DS1621 к AT90S2313 и выдать результат измерения в PC по RS232. Использую CVAVR.
"Все просто" - скажете Вы.
Да, когда знаешь...

Взял демку CVAVR на LM75 и AT90S8515. Заменил LM75 на DS1621.
Слепил модель в Proteus VSM (спасибо ТЕНИ за модель DS1621!). Все работает как часы.
Заменил AT90S8515 на AT90S2313. Все работает как часы.
Перехожу к железу.

Кварц только 4МГц (на схеме 3.6864 МГц) Меняю UBRR=23 на UBRR=25.

Модель работает как часы.

Собираю макет. Терминал включаю CVAVRовский. В терминале - мусор. Вообще терминал получает сигнал только если отключен TxD (3pin в 9-ти пиновом разъеме). Если его подключить - прием останавливается.

Подскажите, плиз, что у меня не так?
Погрешность из-за кварца?
Несовместимость уровней TTL<->RS232?
Идеология?

И еще.

Printf вывода температуры работает как-то странно.

// printf("t=%i.%u\xf8C\r\n",temp/10,abs(temp%10));

printf("t=");
printf("%i.%u\xf8C\r\n",temp/10,abs(temp%10));

Если использовать закомментированную строку, то выводится модуль значения температуры (отрицательные и положительные температуры отображаются одинаково, как положительные без знака).
А если использовать раскомментированные строки - то появляется знак "-" на отрицательных температурах.
Кто может объяснить почему?

Вообще я хотел проверить это же интересное поведение Printf не только на модели, но и на железе, но вот железо меня подвело. Или я его подвел...

Заранее спасибо!

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru