Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 02.12.2006, 23:19   #1
alll
Частый гость
 
Регистрация: 09.11.2005
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alll на пути к лучшему
По умолчанию Кто-нибудь програмил несколько AVRов по UART-у ?

Столкнулся с проблемой связи по UART (USART) одного ведущего (Master) и трёх ведомых (Slave). Не могу понять, как их надо адресовать. Подскажите!!!
Реклама:
alll вне форума  
Непрочитано 03.12.2006, 02:10   #2
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Кто-нибудь програмил несколько AVRов по UART-у ?

Сообщение от alll
Столкнулся с проблемой связи по UART (USART) одного ведущего (Master) и трёх ведомых (Slave). Не могу понять, как их надо адресовать. Подскажите!!!
Делал такое. У меня для усиления достоверности вся передача данных ведется посылками типа:
Код:
служебный, номер_посылки, опционально_данные,контрсумма.
Прием байта в прерывании, обработка - в голове по флагу. Обработка одинаковая для всех slave! То есть - ждем служебного, запоминаем номер, по нему - определяем количество байт данных. Ну, конечно, все это в буфер. Как все данные приняты и контрсумма==0 - по запомненному номеру команды полученные данные кладем на место (ну и флаг, ессно). И каждый слейв просто принимает определенные номера посылок.

Работает надежно как трактор.
Ну а если заложить в систему 9-й бит - там вообще красиво получается. Но в этом случае не выйдет отлаживаться от компа.
nml вне форума  
Непрочитано 03.12.2006, 16:17   #3
alll
Частый гость
 
Регистрация: 09.11.2005
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alll на пути к лучшему
По умолчанию

Спасибо! Переварю, потом ещё пару вопросиков задам! Можно?
alll вне форума  
Непрочитано 03.12.2006, 18:55   #4
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от alll
Спасибо! Переварю, потом ещё пару вопросиков задам! Можно?
Задать-то можно

Кстати, использование 9-го бита очень интересные возможности дает. Например, все стоят на приеме в обычном режиме. Мастер передает номер девайса, которому собирается передавать. И тот переводит свой
USART в режим приема 9-ти битных. Мастер - тоже, и 9-й бит делает=0.

В результате то, что он передает, принимает ТОЛЬКО тот кому надо, у остальных - 0 на месте стоп-бита - приема нет, ошибка. То есть зазря не напрягаются приемом-анализом.
nml вне форума  
Непрочитано 03.12.2006, 20:20   #5
vdlab
Гражданин KAZUS.RU
 
Аватар для vdlab
 
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
vdlab на пути к лучшему
По умолчанию

Сообщение от nml
...В результате то, что он передает, принимает ТОЛЬКО тот кому надо, у остальных - 0 на месте стоп-бита - приема нет, ошибка. То есть зазря не напрягаются приемом-анализом.
А подскажите, это только для PICов или в AVR UART тоже на такое способен(в смысле аппаратный 9-битный режим)?
vdlab вне форума  
Непрочитано 03.12.2006, 20:51   #6
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от vdlab
А подскажите, это только для PICов или в AVR UART тоже на такое способен(в смысле аппаратный 9-битный режим)?
Вообще я именно о АВРках и говорил.
PICи, думаю, такое умеют тоже. А лучше всего заглянуть в даташит
nml вне форума  
Непрочитано 04.12.2006, 11:11   #7
mike18
Прописка
 
Регистрация: 03.08.2006
Сообщений: 267
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
mike18 на пути к лучшему
По умолчанию Re: Кто-нибудь програмил несколько AVRов по UART-у ?

Сообщение от nml
Ну а если заложить в систему 9-й бит - там вообще красиво получается. Но в этом случае не выйдет отлаживаться от компа.
У компа, вроде, в адресном байте можно использовать в качестве 9-го бита - бит контроля чётности.

С уважением, Mike18.
mike18 вне форума  
Непрочитано 04.12.2006, 20:55   #8
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Кто-нибудь програмил несколько AVRов по UART-у ?

Сообщение от mike18
У компа, вроде, в адресном байте можно использовать в качестве 9-го бита - бит контроля чётности.
Да, сформировать на передачу таким образом можно. Хотя не совсем уверен, что такое удастся под виндами - если только передавать по байту с паузами. Или писать в регистры USART напрямую, используя что-нить типа AllowIo.

А вот на прием ничего не выйдет.
nml вне форума  
Непрочитано 06.12.2006, 16:47   #9
GEN_4
Частый гость
 
Регистрация: 28.08.2006
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
GEN_4 на пути к лучшему
По умолчанию

А не проще ли использовать стандартный Modbus
с резервными командами.
GEN_4 вне форума  
Непрочитано 06.12.2006, 18:17   #10
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от GEN_4
А не проще ли использовать стандартный Modbus
с резервными командами.
Можно, отчего же нет. Правда, принцип тот же - служебный, адрес, инфо и контрсумма. И "стандартность" modbus-по моему, фикция - видел много весьма различающихся протоколов... И еще одна немаловажная особенность - modbus заточен под терминалку, а посему - приличная избыточность (образно - вместо байта 0x23 передавать два байта "23"). Да к тому же - затраты ресурсов МК на кодирование-раскодирование.

Так что применение modbus (на мой взгляд) особого смысла не имеет. Ну, разве что если в ТЗ так определено
nml вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто нибудь юзал IR2131? MKsoft Производственное оборудование 44 11.07.2009 11:40
UART в C8051F320 кто программировал? Langalec Микроконтроллеры, АЦП, память и т.д 3 25.05.2009 10:42
TMP86C807NG кто нибудь сталкивался . sh2cer Цифровые сигнальные процессоры 0 02.12.2008 18:26
Кто-нибудь пробовал LM4702? qazaq Аудиотехника 5 17.04.2007 00:43
Кто-нибудь сталкивался? megavolt Аудиотехника 9 24.09.2005 01:06


Часовой пояс GMT +4, время: 02:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot