Перейти к содержанию
    

Нужна помощ с UART ATmega16

МК ATmega16 (dip) обвес нечего примечательного диодный каскад и пара кнопочек + кондюк резистр и диод на резе.

 

MAx232EPE (dip) обвес конденсаторы(105) выполненено по схеме

z4_ds275_max232.gif

 

Все это питаю от USB

 

Пишу на CodeVisioAVR

 

#include <mega16.h>
#include <stdio.h>

void initialization(void){
DDRA = 0xFF;
PORTA = 0xFF; 
TCCR0 = 0x05; 

UCSRA=0x00;
UCSRB=0x10;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C; }

void main (void){ 
initialization();
while (1){ 
PORTA++; 
putsf("hello world");
while (!(TIFR&0x01));
TIFR = 0x01; 
}; 
}

 

 

 

прошиваю через COM с помощью UNIPROF

дальше все это подключаю и мониторю с помощью LookRS232 и ComVC и там и там "helloworld" не наблюдаю но обе программы конектятся и пишут что все гуд , попытался замкнут ношки max232 *11 - 12) сообщения назад не возращается . попытался замкнут 2-3 ножки комп порта результат нулевой. вследствии того что прошиваю я через com port отпадает вариант что он не рабочий. Диоды на мк мигают все гуд значет мк тоже работает.

 

материал брал с http://www.123avr.com/z4.htm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала можно попробовать просто записать один символ в регистр uart, не пользуясь putsf.

Когда ты замыкаешь на компе TX и RX по идее буковки, которые ты посылаешь через терминал, должны появляться в терминале без включенного локального эха. Если локальное эхо включено - появятся сразу две буквы. Вообще ничего не появляется?

Изменено пользователем LamerMan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По линку написано, что перемычки CTS\RTS и DTR\DSR не обязательны. Ежели у вас их нет, то управление потоком в настройках порта на компе ставить исключительно как "Нет", иначе замыкание RX на TX в любом месте схемы ничего не даст.

 

Ну и разделительной емкости между питанием и землей не видать, у меня MAX3232 не заводился без нее толком при питании от USB О_о

Изменено пользователем SysRq

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По линку написано, что перемычки CTS\RTS и DTR\DSR не обязательны. Ежели у вас их нет, то управление потоком в настройках порта на компе ставить исключительно как "Нет", иначе замыкание RX на TX в любом месте схемы ничего не даст.

 

Ну и разделительной емкости между питанием и землей не видать, у меня MAX3232 не заводился без нее толком при питании от USB О_о

 

 

Если не сложно можно по подробнее что за разделительная емкость ?

 

да, у меня стоят перемычки .

 

Если точнее то когда ставлю замыкаю Rx Tx на максе и в програме COmVS отсылаю символы то возращаются какито цифры ???

 

УБрал перемычки CTS-RTS и DTR-DSR замкнул Rx Tx LookRS232 молчит как партезеан а ComVs при передачи сылается на ошибку .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если не сложно можно по подробнее что за разделительная емкость ?

5d5035751716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вот про это и говарил .... я проверял все уже по 10 раз все правельно(кроме моего написания) все по схеме все прозвонено дважды и просмотренно и все не работает ........ Конденсатор подцепил между питанием и землей и нефига не пашет а прога comvs выдает ошибку при отправки ?????????? а есть каконебуд мение капризный интерфейс ?

 

Я тут подумал что по идеи надо сначало добиватся чтобы при замыкания Tx Rx на комп порте должны биты возращатся . Если ктонебуд делал можно поподробно, с помощью каких программ мониторили и как замыкали ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тут подумал что по идеи надо сначало добиватся чтобы при замыкания Tx Rx на комп порте должны биты возращатся . Если ктонебуд делал можно поподробно, с помощью каких программ мониторили и как замыкали ?

 

в linux есть программа minicom, в windows есть hyper terminal. Я просто замыкаю rx и tx и смотрю как выводится эхо вводимых данных. Как было сказано выше нужно выставить управление потоком в none, если стоит hardware или software.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советую такую последовательность действий:

1. Запускаете терминалку (я предпочитаю Zoc, для непривередливых подойдет и HyperTerminal), замыкаете txd rxd без подключения Вашего девайса и наблюдаете эхо сигнал. В противном случае ищем багу на компе.

2. Подключаете Ваш девайс и дергаете ножкой txd со стороны PC, при этом щупаете мультиметром за нужку 12 максика (за rxd со стороны меги) и наблюдаете за изменением сигнала. Если все происходит ожидаемо - можно двигаться дальше. Иначе - ищем багу в цепи txd.

3. Замыкаете выходы txd-rxd максика со стороны меги. При этом мегу нужно либо вовсе вытащить (если она в дип колодке) или стереть прошивку в меге - во избежании несчатных случаев. Опять же, дергаете ножкой txd со стороны PC и наблюдаете за ножкой 14 максика (RXD со стороны PC). Уровень на ней должен изменяться примерно от примерно -7.5 до +7.5 вольт в карйних положениях. Если это так, то все должно работать. (Естесственно, txd rxd надо разомкнуть)

 

P.S. Проверьте, снять ли ресет с контроллера

P.P.S. Ссылки на сайт avr123 на этом форуме считаются дурным тоном.

P.P.P.S. Если всеже перейдете на avr gcc, то с примерами будет проще ;)

 

Так же отмечу, что врятли кто будет разбираться, что означает строчка типа такой

"UCSRC=0x86"

Обычно этом записывают ввиде битовых сдвигов в перемешку с битовым "или" - читать такой код проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал Виндовз терминал , выполнен он конечно в лучших традициях виндовз но я не догнал как там сообщения отсылать , попробовал файл - не увенчалось успехом говарит о сетевой ошибки . управления потоком стоит - ноне и когда я в программе ComVs отсылаю сообщения возращаются биты но в текст он не переводит а тока в 10ричиную систему . как только отключаю питание max232 биты не приходят следственно .... чтота есть но хваленая LookRS232 все есче молчит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал Виндовз терминал , выполнен он конечно в лучших традициях виндовз но я не догнал как там сообщения отсылать , попробовал файл - не увенчалось успехом говарит о сетевой ошибки . управления потоком стоит - ноне и когда я в программе ComVs отсылаю сообщения возращаются биты но в текст он не переводит а тока в 10ричиную систему . как только отключаю питание max232 биты не приходят следственно .... чтота есть но хваленая LookRS232 все есче молчит

Вообще-то, при нажатии на клавиши терминалка посылает в порт код нажатого символа... О каком сообщении Вы говорите, какие биты у вас там ходят - мне не понятно. Скачайте триальную версию zoc`а.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал эту программу чесно говаря лень даже в нее везжать ..

что касается битов то они просто в логе пишутся .

 

Колличество установленных СОМ портов:

COM3

COM1

 

Базовый регистр порта : $3F8

 

00:02:42 $FF 1 1 1 1 1 1 1 1 [ 1 ] 255

 

Подключено к : Com1

 

00:02:51 $00 0 0 0 0 0 0 0 0 [ 2 ] 0

00:03:30 $31 0 0 0 1 0 1 0 0 [ 3 ] 72

00:03:30 $00 0 0 0 0 0 0 0 0 [ 4 ] 0

 

 

Какие могут быть причины отсуствия " Эхо " я бы уже полез в биос но дело в том что прошиваю мк я через комп порт и не жалуюсь ???

 

все я разобрался с виндовым терминалом там одно окно и в него призодят символы которые приходят от порта я питания выключа и по клаве стучу и символов нет клаву покдлюча И ВОТ ОНО эХОООО

ураа !!!!

 

судя по своим сообщениям я туплю не хуже своиего UART а .. извеняюсь просто спать хочется Но это дело принципов !

 

так я замыкал контакты на максе тоесть и адптер в порядке но когда мк поключаю hello world нету тоесть проблема с мк .... дайте пожалуйста код для мк который какоенебуд сообщения через уарт передает с учетом что у меня встроенный тактовый гениратор и мега16

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все я разобрался с виндовым терминалом там одно окно и в него призодят символы которые приходят от порта я питания выключа и по клаве стучу и символов нет клаву покдлюча И ВОТ ОНО эХОООО

ураа !!!!

Ну да, так и должно быть... Кстати, где стоит перемычка, со стороны меги или со стороны PC? Или это мега шлет эхо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь кстати не лишним будет заставить как раз мегу слать эхо. Я так обычно проверяю работоспособность ком порта ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...