Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.106.241] |
|
Сообщ.
#1
,
|
|
|
Ув. сообщество, помогите, пожалуйста
Скажите с чего начать хоть, т.к. пока что - полный... Вот для начала дали мне ISP... Если бы ещё на с либо С#, а то планируется применение ассемблера... Дайте, пожалуйста, какие-нибудь ссылки с примерами программирования программаторов на ассемблере (AVR Studio). |
Сообщ.
#2
,
|
|
|
Цитата Дмитрий @ С чем? какие-нибудь ссылки с примерами программирования программаторов на ассемблере тыц |
Сообщ.
#3
,
|
|
|
Цитата тыц И де там примеры на ассемблере? Цитата Скажите с чего начать хоть, т.к. пока что - полный... А что собсно вы взялись за МК? Для общего развития? |
Сообщ.
#4
,
|
|
|
Цитата Prince @ И де там примеры на ассемблере? В даташитах: Цитата Чем тебе не нравится? Или, к примеру, базовый даташит:As an example, consider the initialization of the I/0 pins used for UART communication: .EQU ATmega128=1 ;Declares the symbol ATmega128 ;EQU ATmega16=1 ;Declares the symbol ATmega16 .EQU UART =0 ;UART0 or UART1 .ifdef ATmega128 .message "UART Module assembled for ATmega128." .if UART == 0 .message "UART0 used." sbi DDRE, PE1 ;Configure TxD as output .elif UART == 1 .message "UART0 used." sbi DDRD, PD3 ;Configure TxD as output .else .error "UART number not specified" .endif .elif ATmega16 .message "UART Module Цитата Даже специально указали. Assembly Code Example(1) ... ; Define pull-ups and set outputs high ; Define directions for port pins ldi r16,(1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) out PORTB,r16 out DDRB,r17 ; Insert nop for synchronization nop ; Read port pins in r16,PINB ... C Code Example(1) unsigned char i; ... /* Define pull-ups and set outputs high */ /* Define directions for port pins */ PORTB = (1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0); DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* Insert nop for synchronization*/ _NOP(); /* Read port pins */ i = PINB; ... Добавлено Цитата Дмитрий @ Дайте, пожалуйста, какие-нибудь ссылки с примерами программирования программаторов Видишь ли, уважаемый, программаторов весьма большое количество. Всяких разных и даже параллельных. Но. Программатор, как устройство не программируется. Его задача - просто залить прошивку (оттранслированный в машинный код текстовый исходник программы). Или считать. Или проверить. И все. |
Сообщ.
#5
,
|
|
|
Цитата medved_68 @ Программатор, как устройство не программируется. Ну почему? В случае с AVR не программируются только LPT/COM ногодрыгалки или адаптеры на FTDI-чипах. Все остальные вполне себе сначала кем-то программируются, потом другими используются. Цитата Prince @ И де там примеры на ассемблере? Ну, например — апнота AVR910 по линку, данному trainer во втором сообщении. И ассемблер, и "программирование программатора" |
Сообщ.
#6
,
|
|
|
Цитата avreal @ Все остальные вполне себе сначала кем-то программируются, Ну если так подходить, то: Цитата avreal @ тоже "программируется". Ведь программу то, которая будет "ногодрыгалкой" управлять, тоже кто то написал, а кто то использует. В случае с AVR не программируются только LPT/COM ногодрыгалки или адаптеры на FTDI-чипах. |
Сообщ.
#7
,
|
|
|
Цитата medved_68 @ Ведь программу то, которая будет "ногодрыгалкой" управлять, тоже кто то написал, Ну что-что, а об этом я в курсе (см. ник и далее профиль ). Но всё же когда речь идёт о «программировании программатора» (или об отсутствии необходимости этого), то речь идёт не о «скачать программатор», а «спаять и так далее», тут AVR910 как раз в тему. |
Сообщ.
#8
,
|
|
|
Цитата Prince @ И де там примеры на ассемблере? Блин! Как быстро всё изменяется Когда я впервые заинтересовался AVR, примеров на ассемблере было немало. В тех же Application Notes. А теперь их днём с огнём не сыщешь. |
Сообщ.
#9
,
|
|
|
Уважаемые, мне дали AVR ISP v3.2 (как переходник USB-UART) и программатор ATMEL (я в него установил atmega). Вот сижу и смотрю на эту конструкцию, как ... С AVR ISP v3.2 попробовал - установил заглушку Tx-Rx и попробовал обмен - работает. Подскажите, пожалуйста, как , для начало, организовать такой обмен уже с atmega?
P.S. Прошу прощения, изначально вопрос задал по незнанию |
Сообщ.
#10
,
|
|
|
Сообщ.
#11
,
|
|
|
Цитата medved_68 @ Такой? Да такой. Не судите строго Когда работаешь с платами расширения - это одно... У меня сейчас есть преобразователь USB-UART, программатор и платка: сокет для атмеги. Для меня нужно просто стартовая точка: стандартная прога или примеры, как прошить какие-то данные в атмегу, а затем я попытаюсь, соединив по UART плату атмеги и ATMEL AVR ISP v3.2, считать эти данные. |
Сообщ.
#12
,
|
|
|
Цитата Дмитрий @ Для меня нужно просто стартовая точка: стандартная прога или примеры, как прошить какие-то данные в атмегу, а затем я попытаюсь, соединив по UART плату атмеги и ATMEL AVR ISP v3.2, считать эти данные. Ты ссылку до конца посмотрел? Вот это видел: Цитата Слово "диск" - ссылка на архив. Чем тебе не "просто стартовая точка"? Программатор AVR ISP v3.2 10-контакный кабель внутрисхемного программирования Загружаемые материалы: Диск с AVR Studio, драйверами, инструкцией и документацией |
Сообщ.
#13
,
|
|
|
Не заметил ...
|
Сообщ.
#14
,
|
|
|
Подскажите советом, пожалуйста, что не так?
Пытаюсь делать как в манулале: - подсоединил AVR ISP v3.2 к программатору; - на разъеме ISP/UART переставил перемычки к ISP; и теперь в AVR Studio пытаюсь подключиться к порту - сбой подключения Дрова стоят... Что я не так делаю? |
Сообщ.
#15
,
|
|
|
Цитата Дмитрий @ Дрова стоят... И в студии ты пытаешься подключиться на тот COM порт, который появился после установки драйверов на программатор? |
Сообщ.
#16
,
|
|
|
Да: Студия->Tools->Program AVR->Connect. В мануале к AVR ISP, правда, пишется: "Выбрать <STK500 or AVR ISP>" в списке "Platform", но у меня этого элемента нет - выбираю AVRISP и соответствующий СОМ. В результате ошибка соединения...
|
Сообщ.
#17
,
|
|
|
Подскажите, пожалуйста, какие шаги надо делать дальше ? Я сформировал сформировал код на асм для ATmega8, откомпилировал его (avrasm32.exe) и на выходе получил файл *.obj.
Как мне загрузить этот код в ATmega8 через программатор AVR ISP v3.2? |
Сообщ.
#18
,
|
|
|
Цитата Дмитрий @ и на выходе получил файл *.obj Пилите дальше, на выходе должен быть *.hex |
Сообщ.
#19
,
|
|
|
Цитата Alexei @ Цитата Дмитрий @ и на выходе получил файл *.obj Пилите дальше, на выходе должен быть *.hex Не понял А как сформировать *.hex-файл подскажите, пожалуйста |
Сообщ.
#20
,
|
|
|
avrasm32.exe - консольная? должны быть ключи для компиляции в нужный формат.
|
Сообщ.
#21
,
|
|
|
Цитата Дмитрий @ А как сформировать *.hex-файл подскажите, пожалуйста Цитата Дмитрий @ и на выходе получил файл *.obj. Как мне загрузить этот код в ATmega8 через программатор AVR ISP v3.2? Второй шаг - необходимо отлинковать все файлы .obj, собранные в проекте в исполняемый файл .hex. Смотри в свойствах проекта - почему это не произошло автоматически (вполне возможно, что поставлена галочка компиляции библиотеки - в таком случае весь проект будет выдан как промежуточный объектник, для последующей линковки в другие проекты.) |
Сообщ.
#22
,
|
|
|
medved_68, я не использовал атмел студию (ни 4, ни 6) - так и не понял как создать проект для ATmega8 (в плане: файлы накидал, но компильнуть не смог...). Со студии я взял компилятор (avrasm32.exe) и "m8def.inc", и просто скомпилировал *.acm - файл - получил *.obj....
|
Сообщ.
#23
,
|
|
|
Цитата Дмитрий @ и просто скомпилировал *.acm - файл - получил *.obj.... А параметры компиляции какие указывал? |
Сообщ.
#24
,
|
|
|
не поленился и качнул avrasm
c:\temp\asm>avrasm32.exe -h AVRASM: AVR macro assembler version 1.77.3 (Dec 20 2006 14:29:41) Copyright (C) 1995-2005 ATMEL Corporation usage: avrasm32 [options] asmfile Options: -f [O|M|I|G] output file format: -fO Debug info for simulation in AVR Studio (default) -fM Motorola hex -fI Intel hex -fG Generic format -o ofile Put output in 'ofile'. Default is the same name as the input file, but with extension 'obj'. -d dfile Generate debug info for simulation in AVR Studio in 'dfile'. Can only be used with the -f [M|I|G] option. -l lfile Generate listing on 'lfile' -m mfile Generate map on 'mfile' -e efile Place EEPROM contents in 'efile' -w Relative jumps are allowed to wrap for program ROM up to 4k words in size -I dir Add 'dir' to include search path как видно из списка ключей, нужный -fI |
Сообщ.
#25
,
|
|
|
hot_ice, спасибо, что меня ткнули
Получил я файл *.hex. Как мне теперь прошить ATmega8? |
Сообщ.
#26
,
|
|
|
Цитата Дмитрий @ Как мне теперь прошить ATmega8? Подключаешь программатор к компьютеру, запускаешь программу программатора, указываешь порт (если она сама не обнаружит программатор), загружаешь в программу файл *.hex и записываешь в контроллер. Это один вариант. А второй вариант - из самой IDE, в настройках указываешь программатором свое устройство. |
Сообщ.
#27
,
|
|
|
Цитата medved_68 @ Подскажите, пожалуйста, что это за программа? На диске отсюда её нет Подключаешь программатор к компьютеру, запускаешь программу программатора Цитата medved_68 @ Если это делается так: avr studio ->Tools->Program AVR->Connect; в мануале к AVR ISP, правда, пишется: "Выбрать <STK500 or AVR ISP>" в списке "Platform", но у меня этого элемента нет - выбираю AVRISP и соответствующий СОМ. , то в результате ошибка соединения... А второй вариант - из самой IDE, в настройках указываешь программатором свое устройство. |
Сообщ.
#28
,
|
|
|
Цитата Дмитрий @ Подскажите, пожалуйста, что это за программа? На диске отсюда её нет Да. Отдельного программы-программатора на диске нет. Тогда остается второй путь: Цитата Дмитрий @ но у меня этого элемента нет - выбираю AVRISP и соответствующий СОМ. вот это выполнено: Цитата ??? Разумеется, я подразумеваю нормальную установку драйвера виртуального компорта по инструкции с диска. Идем в «Мой компьютер – Свойства – Диспетчер устройств – Порты (СОМ и LPT)» После успешной установки драйверов вы должны увидеть новый виртуальный СОМ- порт (USB Serial Port). Внимание – вы должны установить номер этого порта в диапазоне от 1 до 4 (AVR Studio по умолчанию обращается только к первым 4м портам. Установить номер можно в дополнительных свойствах порта). |
Сообщ.
#29
,
|
|
|
Сообщ.
#30
,
|
|
|
Подскажите, пожалуйста , может есть какие-то настройки в avr studio 4, чтобы в списке "Platform" появился элемент "<STK500 or AVR ISP>"?
|
Сообщ.
#31
,
|
|
|
Как-то у вас все сложно. У меня нет под рукой аврстудии. Могу посоветовать попробовать командную строку у STK500.
|
Сообщ.
#32
,
|
|
|
Alexei, сложно потому, что я в этой области пока что "учиник первых классов"
Объясните, пожалуйста , подробнее о "командной строке у STK500.". Можно ли будит загрузить *.hex файл в мк через программатор, используя опции командной строки? |
Сообщ.
#33
,
|
|
|
Цитата Дмитрий @ но у меня этого элемента нет - выбираю AVRISP и соответствующий СОМ. , то в результате ошибка соединения... А вы драйверы программатора с диска установили? Цитата Дмитрий @ "учиник первых классов" Цитата Дмитрий @ будит загрузить *.hex файл в мк через программатор, используя опции командной строки? Учиник, вы какую-нибудь докуметацию читаете? AVR STK500 User Guide п. 5.4 Если нет STK500 56mB |
Сообщ.
#34
,
|
|
|
Цитата Alexei @ Установил, вернее винда сама определила устройство и установила его драйвера. А вы драйверы программатора с диска установили? Цитата Alexei @ У меня программатор AVR ISP v3.2 (картинка на предыдущей странице), а не STK500! Учиник, вы какую-нибудь докуметацию читаете? AVR STK500 User Guide Хохма вот в чём: на фирме использовали эл. списка "Platform" "<STK500 or AVR ISP>" в AVR Studio 4 (как описано в доке для SVR ISP). Установил у себя 4-ю студию (на "семёрке"), но там этого элемента ("<STK500 or AVR ISP>") нет Что за ... ну .... /Может какие то настройки в студии надо установить? А при использовании просто "AVR ISP" выдает ошибку соединения !!! |
Сообщ.
#35
,
|
|
|
Цитата Дмитрий @ У меня программатор AVR ISP v3.2 (картинка на предыдущей странице), а не STK500! У меня тоже не. У меня "родной" атмеловский AVRISPmkII , так вот он у меня работает на семерке из командной строки , используя софт STK500(Ссылку на который я дал.) и батовкий файл. STK500 это вообще протокол. |
Сообщ.
#36
,
|
|
|
Alexei, спасибо Попробую.
|
Сообщ.
#37
,
|
|
|
Подскажите, пожалуйста, как правильно задать фьюзы при прошивке ATmega8, чтобы запустился внутренний генератор?
|
Сообщ.
#38
,
|
|
|
Цитата Дмитрий @ Подскажите, пожалуйста, как правильно задать фьюзы при прошивке ATmega8, чтобы запустился внутренний генератор? Немного внизу. |
Сообщ.
#39
,
|
|
|
Цитата medved_68 @ Спасибо Немного внизу |
Сообщ.
#40
,
|
|
|
Помогите, пожалуйста, понять, что я делаю не так
Взял простенькую прогу для проверки обмена по USART c ATmega8: while (1) { // Place your code here if (UCSRA & (1<<RXC)) { c = UDR; if ( c == 0x01) _sendStr(); } } } ...... void _sendStr() { while ( !( UCSRA & (1<<UDRE)) ) ; UDR = 0x55; } С помощью конструктора CVAVR сформировал файл проги. Установил фьюзы так: CKSEL0=0 CKSEL1=0 CKSEL2=1 CKSEL3=0 SUT0=0 SUT1=1 BODEN=1 BODLEVEL=1 BOOTRST=1 BOOTSZ0=1 BOOTSZ1=1 EESAVE=1 CKOPT=0 SPIEN=0 WDTON=1 И RSTDISBL не трогал Прошил flash.... Использую этот программатор AVR ISP v3.2, как преобразователь USB-USART (установил перемычки в USART, сделай перекрест TX и RX) Посылаю запрос, но считать данные не удалось |
Сообщ.
#41
,
|
|
|
Цитата Дмитрий @ Посылаю запрос, но считать данные не удалось А у тебя вообще контроллер запустился на выполнение твоей программы? Ты это как-нибудь проверил и убедился? Прежде чем мучать USART? |
Сообщ.
#42
,
|
|
|
Дмитрий, имхо.
Вернитесь к AVR студии, разберитесь с подключением программатора. Если программатор поддерживает STK500, значит его можно использовать вместе со студией. Если не получается, попросите кого-нибудь, чтобы пришёл и всё настроил. Или сказал бы однозначно, что настроить невозможно. Сколько ж можно мучиться. Вы сможете отладить нормально программу, сразу прошить, и с фьюзами никаких проблем. |
Сообщ.
#43
,
|
|
|
Цитата Дмитрий @ Взял простенькую прогу для проверки обмена Может, для начала, просто помигать светодиодом? |
Сообщ.
#44
,
|
|
|
Цитата Prince @ Дмитрий, имхо. Вернитесь к AVR студии, разберитесь с подключением программатора. Если программатор поддерживает STK500, значит его можно использовать вместе со студией. Если не получается, попросите кого-нибудь, чтобы пришёл и всё настроил. Или сказал бы однозначно, что настроить невозможно. Сколько ж можно мучиться. Вы сможете отладить нормально программу, сразу прошить, и с фьюзами никаких проблем. С прошивкой самого МК проблем нет! Ведь я, в стремлении к познанию , "успешно" сделал не пригодным на данный момент МК , прошив бит RSTDISBL Запустил внешний кварц - это увидел на осцилографе. И залил эту прогу во Flesh. А вот считать данные по запросу не выходит Добавлено Цитата Alexei @ Просто программа, с которой мне прийдётся работать, обменивается по USARTу. Да и чем эта небольшая прога не является исходной точкой? Может, для начала, просто помигать светодиодом? |
Сообщ.
#45
,
|
|
|
Цитата С прошивкой самого МК проблем нет! делал не пригодным на данный момент МК , прошив бит RSTDISBL И залил эту прогу во Flesh. А вот считать данные по запросу не выходит Отсуствие проблем с прошивкой впечатляет. Программу в студии отладили? Цитата Просто программа, с которой мне прийдётся работать, обменивается по USARTу. Да и чем эта небольшая прога не является исходной точкой Тем, что она не работает, а вы не знаете, почему не работает и как это исправить? |
Сообщ.
#46
,
|
|
|
Цитата Prince @ Вы правы, не знаю, пример из ДШ. Вот и обратился к Вам за советом Что в вашем понимании "отладить прогу"? Тем, что она не работает, а вы не знаете, почему не работает и как это исправить? |
Сообщ.
#47
,
|
|
|
Цитата Дмитрий @ Что в вашем понимании "отладить прогу"? Наверное то же, что и у других - например, убедиться, что программа выполняет именно то, что должна выполнять по замыслу автора и именно так, как хочет автор, а не так, как получилось. В твоем случае - это прогнать программу в отладчике и убедиться, к примеру, что необходимый байт команды загружается в регистр передатчика USART, передатчик при этом включен, у контроллера выставлены необходимые настроечные регистры (стоп бит/восьми битовая передача/нужная скорость) настройки каанла USART. После этого откомпилироать программу передачи, залить в контроллер и посмотреть осциллографом, что "пляшет" на порту TX контроллера при попытке передачи байта. Весьма хорошо наблюдать меандры при передаче байта 55Н - так очень четко видно как нули сменяют единицы. И только после этого начинать вторую часть проекта, т.е. прием от контроллера чего то, в ответ на посланный байт команды. |
Сообщ.
#48
,
|
|
|
Цитата Что в вашем понимании "отладить прогу"? В моём - взять и отладить. Насколько хорошо симулятор студии умеет обращаться с USART - вопрос открытый, но в принципе, как без предварительной(и последующей, в процессе работы) отладки можно написать работающую прошивку, не очень представляю. Вообще, как выглядел процесс написания вами программы: вы взяли кусочек кода из ДШ, скопипастили, компилятор не выдал ошибок(или выдал, и вы как-то их исправили), то, что получилось, залили в память МК? Ещё один интересный вопрос - подключение последовательного порта МК ... к чему-то. К компу? Как? |
Сообщ.
#49
,
|
|
|
Цитата Prince @ Вообще, как выглядел процесс написания вами программы: вы взяли кусочек кода из ДШ, скопипастили, компилятор не выдал ошибок(или выдал, и вы как-то их исправили), то, что получилось, залили в память МК? Ещё один интересный вопрос - подключение последовательного порта МК ... к чему-то. К компу? Как? Да Вы правы... Прошу не судите строго Просто с МК я пытаюсь работать только месяц и это для меня ново.... А что значит отладит? Пройти в режиме debug? И что это даст? Можно ли отладить эту прогу на действующем МК? А подключение показано на снимке: программатор AVR ISP можно использовать как преобразователь USB - USART. Прикреплённая картинка
|
Сообщ.
#50
,
|
|
|
Цитата А что значит отладит? Пройти в режиме debug? И что это даст? Вы сишный код под Windows дебажили? Что это вам давало? Медвед достаточно подробно ответил на ваш вопрос по поводу отладчика, и вы тут же задаёте его снова. Цитата Можно ли отладить эту прогу на действующем МК? Если программатор и МК поддерживают JTAG/PDI. На atmega8 нельзя. Цитата А подключение показано на снимке: программатор AVR ISP можно использовать как преобразователь USB - USART. Убедитесь в том, что преобразователь работает с TTЛ уровнями и нужной вам полярностью сигналов. |
Сообщ.
#51
,
|
|
|
Цитата Дмитрий @ А подключение показано на снимке Да, там просто масса информации! Дмитрий, вы можите похвастаться хоть одной работающей в МК программой? |
Сообщ.
#52
,
|
|
|
Цитата Alexei @ Дмитрий, вы можите похвастаться хоть одной работающей в МК программой? Alexei, да ладно тебе... Мы все с чего то начинали и как то учились... Дмитрий, поставь студию и прогони свой код в ней в режиме симулятора. В данном режиме нет необходимости в реальном подключении МК, достаточно выбрать тип контроллера и тактовую частоту. |
Сообщ.
#53
,
|
|
|
Цитата medved_68 @ Alexei, да ладно тебе... Мы все с чего то начинали и как то учились Так, наверно,если таким же образом, то до сих пор задавали бы здесь теже вопросы.Мы начинали с чего по проще. Есть ли уверенность в том, что все простейшие действия выполняются? Что эта штука действительно USB - USART. Что она правильно подключена, ее драйвер правильно установился... Слишком много неизвестных! Начать был бы смысл с проверки ее самой на себя итд. . |
Сообщ.
#54
,
|
|
|
Цитата medved_68 @ Дмитрий, поставь студию и прогони свой код в ней в режиме симулятора. В данном режиме нет необходимости в реальном подключении МК, достаточно выбрать тип контроллера и тактовую частоту. Конечно, я так и сделал: зациклил выдачу шахматки и прогнал в отладчике. Вот только не понятно: на 4-й итерации бит UDRE регистра UCSRA обнулился... После прошивки проги на ноге TX я вижу миандр на осцилографе. Проблема - считать эти данные: операция считывания с СОМ вылетела по таймауту Цитата Prince @ Поясните, пожалуйста, как я могу это сделать? Убедитесь в том, что преобразователь работает с TTЛ уровнями и нужной вам полярностью сигналов. |
Сообщ.
#55
,
|
|
|
Цитата Дмитрий @ операция считывания с СОМ вылетела по таймауту Чем пытаешься считать? |
Сообщ.
#56
,
|
|
|
Цитата medved_68 @ Средствами .net: port.ReadByte() Чем пытаешься считать? |
Сообщ.
#57
,
|
|
|
Цитата Дмитрий @ Средствами .net: port.ReadByte() Т.е. ты наблюдаешь активность на передатчике контроллера, но до компа сия активность "не доходит", так? Вариантов несколько: 1. Уровни ТТL (как говорил Prince). У преобразователя стандарт RS-232, у контроллера ТТL (а то и 2.6В, если питание 3В и ниже). Необходима микросхема преобразователь МАХ 232. 2. Неправильная настройка передающе-приемного канала (несовпадение скоростей/количества стоп битов/четности и.т.д. В контроллере смотри значения регистров управления USART, в net режимы открытия СОМ порта. Должно все совпадать. 3. Нерабочий переходник USB-COM. Проверка - замкнуть накоротко вывод RX с TX и средствами net открыть порт на чтение и передачу. Пробовать передавать байт, прием должен сработать. Если этого нет - смотри пристально на преобразователь. |
Сообщ.
#58
,
|
|
|
Цитата medved_68 @ Т.е. ты наблюдаешь активность на передатчике контроллера, но до компа сия активность "не доходит", так? Да именно Скажите, а может такое быть, что я просто в цикле без задержки гоню эту шахматку и сто и старт биты накладываються? |
Сообщ.
#59
,
|
|
|
Цитата Дмитрий @ Скажите, а может такое быть, что я просто в цикле без задержки гоню эту шахматку и сто и старт биты накладываються? Нет, так быть не может. Вот это: Цитата Дмитрий @ Вот только не понятно: на 4-й итерации бит UDRE регистра UCSRA обнулился... говорит о том, что ты совершенно не проверяешь бит окончания передачи, а пихаешь данные в передатчик, совершенно наплевав на то, передал он или нет данные, справляется ли он или как. Так нельзя. |
Сообщ.
#60
,
|
|
|
Цитата medved_68 @ Та нет! Я его как раз и проверяю!...говорит о том, что ты совершенно не проверяешь бит окончания передачи, а пихаешь данные в передатчик, совершенно наплевав на то, передал он или нет данные, справляется ли он или как. Так нельзя. ... while( !( UCSRA & (1<<UDRE)) ) ; UDR = 0x55; ... А вот когда ставлю задержку 5 мс, то эта проблема появляется... И переходник USB-COM работает - что послал, то принял... Подскажите какую-нибудь стандартную прогу для обмена с СОМ. |
Сообщ.
#61
,
|
|
|
Цитата Дмитрий @ Подскажите какую-нибудь стандартную прогу для обмена с СОМ. Putty, Гипертерминал... |
Сообщ.
#62
,
|
|
|
Цитата medved_68 @ "Молчит" PuTTY - после соединения чёрный экран.... Putty |
Сообщ.
#63
,
|
|
|
Цитата Дмитрий @ "Молчит" PuTTY - после соединения чёрный экран.... Для того, чтобы что то на зкране было - твое устройство должно это сформировать и отправить в канал. Это есть? |
Сообщ.
#64
,
|
|
|
Цитата medved_68 @ Не понял вопроса... Для того, чтобы что то на зкране было - твое устройство должно это сформировать и отправить в канал. Это есть? МК выдаёт по USARTU данные? Конечно это сделано! Вообще ни чего не понимаю! Что за ... ... .... |
Сообщ.
#65
,
|
|
|
Цитата Дмитрий @ МК выдаёт по USARTU данные? Да, выдает. Смотри, я принял из канала байты 08Н, 09Н, 0АН. Что мне необходимо сделать, что бы на экране отобразилось "Получена цепочка - 08 09 0А"? Или ты думаешь, что это все за тебя кто то/что то сделает? Добавлено И еще. Что бы тот же Putty что то начал отображать на экране - твое устройство должно общаться с ним в рамках стандартного протокола TELNET. Это слово тебе знакомо? Если да, то ты реализовал поддержку протокола в своем устройстве? Если нет - то что же ты хочешь? |
Сообщ.
#66
,
|
|
|
Есть программа, называется - терминал. Моск не напрягает.
|
Сообщ.
#67
,
|
|
|
Цитата medved_68 @ Я хочу понять, почему не могу считать данные с МК через преобразователь USB - USART? При том, что когда кольцую TX и RX на нём, обмен проходит, а при стыковке к МК - обмена нет!!! что же ты хочешь Подскажите, пожалуйста, как проверить, что преобразователь работает с нужными TTЛ уровнями и полярностью сигналов? Цитата Alexei @ Спасибо, Alexei,попробую. Есть программа, называется - терминал |
Сообщ.
#68
,
|
|
|
Цитата Дмитрий @ При том, что когда кольцую TX и RX на нём, обмен проходит Значит дело не в преобразователе. Показывай схему подключения портов Rx и Tx подопытного контроллера. Как они подключены на кабель, который идет к преобразователю RS-232 <-> USB. |
Сообщ.
#69
,
|
|
|
medved_68, большое спасибо за помощь и участие
Схема проста: я соединил выход RX контроллера с TX на преобразователе, а TX с RX соответственно. Перемычки на преобразователе установил в UART. |
Сообщ.
#70
,
|
|
|
Цитата Дмитрий @ Схема проста: я соединил выход RX контроллера с TX на преобразователе, а TX с RX соответственно. Тогда тебе необходимо вот это: Цитата medved_68 @ 1. Уровни ТТL (как говорил Prince). У преобразователя стандарт RS-232, у контроллера ТТL (а то и 2.6В, если питание 3В и ниже). Необходима микросхема преобразователь МАХ 232. Добавлено Цитата Дмитрий @ Перемычки на преобразователе установил в UART. А еще в какое положение можно установить перемычки? |
Сообщ.
#71
,
|
|
|
Верхний график - ТТЛ, нижний - по стандартру RS-232. Измерить напряжение на выходе ТХ преобразователя, в отсутствие передачи, убедиться в том, что на выходе сигнал с ТТЛ уровнями. Если очень хочется, можно осциллографом посмотреть весь кадр при передаче чего-нибудь с компа, из гипертерминала.
|
Сообщ.
#72
,
|
|
|
Prince, спасибо сейчас проверю. Хотя, в AVR ISP v.3.2 встроена функция преобразование USB в UART TTL(ATMEL AVR ISP v3.2)...
Цитата medved_68 @ AVR ISP v.3.2 имеет разъёмы е ISP/UART для работы как программатор или как преобразователь. А еще в какое положение можно установить перемычки |
Сообщ.
#73
,
|
|
|
Большое всем спасибо, что оказываете мне помощь!
Определилося (проклятые янки!!! сколько я голов разбил ), оказывается при работе программатора AVR ISP v3.2, как преобразователь USB - USART, сигналы TX и RX перекрещивать НЕ НАДО Если кто-то знал.... |