| AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
Передача данных через UART в AVR микроконтроллерах.
04.11.2013, 13:01
|
|
|
Частый гость
Регистрация: 10.04.2009
Адрес: Санкт-Петербург
Сообщений: 43
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Сообщение от sat_art
|
|
Надежность передачи.
|
Тоесть это как усилитель сигнала,чтобы не было ошибок в передачи данных?
А как его подключить к atmega 8?
если
ATMEGA8(1)
ATMEGA8(2)
к примеру мне нужно соединить токо tx- atmega8(1) с rx- atmega8(2)
одной rs232 достаточно?
TX - ATMEGA8(1) ------ RX- RS232
TX-RS232-------RX-ATMEGA8 (2)
так можно их соединить?
rs232 располагать как можно ближе к передающему сигналу как я понил.
|
|
|
|
04.11.2013, 13:39
|
|
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 434
Сказал спасибо: 20
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
|
|
|
|
04.11.2013, 13:39
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,009
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
со времен крестовых походов применялась токовая петля - ИРПС, работало на сотни метров на 9600 и выше
|
|
|
|
04.11.2013, 14:00
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,480
Сказал спасибо: 734
Сказали Спасибо 1,899 раз(а) в 777 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Правильно понимаете
В одной мелкосхеме преобразователя 2 передатчика и 2 приемника (ну по большей части)
Преобразователь раскачивает Ваши 0/+5 в -12/+12
Соответственно , увеличивается помехозащищенность. Без преобразователя больше нескольких метров не выжмите. Да и в случае наводок мощных спасет процессор
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
04.11.2013, 14:50
|
|
|
Частый гость
Регистрация: 05.09.2012
Сообщений: 22
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Вообще-то можно передачу данных можно сделать на чем угодно. хоть по 220 вольт 
Главное что бы уровень на процессоры подавался не более +5вольт.
Если нет микросхем типа MAX232, то
легко можно решить приемную часть на триггере Шмитта - 7414 ( 74HC14...)
На входе резистор и стабилитрон 4,7 вольт на землю.
Передающую часть на чем-нибудь с открытым коллектором на двух транзисторах. Уж этого в тырнете полно!
И вообще, круче будет купить пару радиомодулей и не мучиться
Лично я себе сделал термостатик на веранду для собак.
mega8 конечно, датчики lm75 (это которые по шине I2C), модуль блютуз, исполнялка на оптосимисторе и симисторе BTA16.
показывает температуру внутри/снаружи, часы, включает/выключает обогреватель...
настройка и передача данных - блютуз
|
|
|
|
04.11.2013, 17:27
|
|
|
Гражданин KAZUS.RUN
Регистрация: 26.12.2005
Сообщений: 620
Сказал спасибо: 25
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Для работы по Вашему алгоритму можно поменять полярность включения светодиодов и вместо GND использовать VCC (см. схему). Тогда при нажатии соответствующей кнопки будет загораться светодиод, а при отпускании - гаснуть.
Также у Вас конфликты на шине RX-TX. В микросхеме U2 PORTD конфигурирован на вывод:
PORTD=0x00;
DDRD=0xFF;
Измените на:
DDRD=0x0;
|
|
|
|
04.11.2013, 17:38
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,480
Сказал спасибо: 734
Сказали Спасибо 1,899 раз(а) в 777 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Сообщение от harry7777
|
|
одной rs232 достаточно
|
нет, надо с обеих сторон ставить. Если в одну сторону гнать, то можно обойтись буферами, как посоветовал pops0417. Из собственного опыта: реально RS232 метров на 10-15 работает, потом надо ОЧЕНЬ сильно снижать скорость. Даже при применении экранированного провода. Собственно, в стандарте так и написано - до 15м.
Хотите больше? Спросите у нас. Шутка.
Смотрите сторону дифференциальных. 485 и т.п.
Или наша старая добрая токовая петля ИРПС ОСТ 11 305.916-84 У меня такая работала на очень приличной скорости. 200м кабеля по силовым лоткам.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
04.11.2013, 20:48
|
|
|
Прохожий
Регистрация: 25.04.2011
Сообщений: 9
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Передача данных через UART в AVR микроконтроллерах.
Привет всем!
Кто-нибудь может ответить на вопрос не по теме (довольно глупый для отдельной темы).
Какая схема подключения между USB компа и аппаратным USB ATXMEGA16A4U?
На 5-ти вольтовых процессорах с USB – всё понятно, но тут-то питание процессора не более 3,6В, а на USB компа 5В.
ATMEL в «AVR1012: XMEGA A Schematic Checklist» почему-то расписали всё, кроме схемы подключения их железа к USB компа…
Если кто имел с этим дело и если не в лом выложите пожалуйста схемку или ссылку где на неё глянуть, а то как-то не хочется велосипед изобретать, к тому же фиг его знает чего там в схеме USB модуля ATXMEGA наворочено.
|
|
|
|
04.11.2013, 20:56
|
|
|
Прописка
Регистрация: 22.11.2011
Адрес: СПб,Иваново
Сообщений: 112
Сказал спасибо: 3
Сказали Спасибо 45 раз(а) в 29 сообщении(ях)
|
Re: Передача данных через UART в AVR микроконтроллерах.
Сообщение от akegor
|
Чем зажигается светодиод (0 или 1)?
Что вначале на выходе порта? Какое значение задаете?
|
Это очень зависит от того, как именно будет включен светодиод между PIN и "VCC" или между PIN и "GND"... )) например
|
|
|
|
04.11.2013, 21:29
|
|
|
Прохожий
Регистрация: 25.04.2011
Сообщений: 9
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Передача данных через UART в AVR микроконтроллерах.
Раз уж вставил свои пять копеек в эту тему, то тоже дам совет по поводу
«они сначала горят,а как сделать чтобы сначала не горели?»
Судя по схеме и исходя из очевидной инициализации проца при которой при старте на порты с диодами подаётся «1», то варианта 2-а:
1-й не трогать инициализацию проца, а диоды переставить другой стороной.
2-й (если в лом диоды переставлять)при инициализации проца надо выставить «0» на эти порты.
А что бы загорались при нажатии кнопки, то тоже два варианта:
1-й переставить диоды другой стороной.
2-й (если в лом диоды переставлять) при передачие или при получении инвертировать значение порта – поставить значок «~» перед данными
Tx
putchar(PINC);
Rx
PORTC=~getchar();
|
|
|
|
Сказали "Спасибо" passer-by_
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:25.
|
|