| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Нужно 2 UART на мк , как быть?
25.02.2010, 00:32
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Сообщение от Kabron
|
|
Софтовый УАРТ на АВР легко работает до 115200 по прерываниям даже от внутр. ген. 8МГц. Да и на ПИКах тоже.
|
до 11520 включительно ?
|
|
|
|
25.02.2010, 00:32
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Апноут AVR304 и на сайте CVAVR есть примерчик software uart avr
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
25.02.2010, 00:38
|
|
|
Заблокирован
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,850
Сказал спасибо: 721
Сказали Спасибо 4,537 раз(а) в 2,072 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Сообщение от Zemlyanov
|
|
до 11520 включительно ?
|
Ноль забыли. Посмотрите тему про PIC Serial Sniffer здесь на форуме. Код приложен. Да, я уже не говорю про Атмеловксие апноты, как верно предыдущий товарищ заметил - на любой вкус.
|
|
|
|
25.02.2010, 00:59
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Сообщение от avr123-nm-ru
|
|
на сайте CVAVR есть примерчик software uart avr
|
что за сайт такой, этот http://www.hpinfotech.ro/
и где там примеры?
|
|
|
|
25.02.2010, 01:18
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,010
Сказал спасибо: 348
Сказали Спасибо 1,023 раз(а) в 551 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
|
|
|
|
25.02.2010, 01:38
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
И еще один вопрос: если ведущий МК и микросхема RS 485 будет запитана от 3.3 В. а ведомые МК и RS485 будут запитаны от 5 В. как в этом случае будет работать сеть и будет ли она вообще работать?
|
|
|
|
25.02.2010, 10:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
наверно будет нормально работать если сделать правильно.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
25.02.2010, 13:19
|
|
|
Частый гость
Регистрация: 23.12.2007
Сообщений: 39
Сказал спасибо: 5
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Доброго всем времени суток!
У меня похожая задача: надо принять в USB данные на скорости 50 бод (5-битовая посылка, 1 стоп-бит, без четности), код МТТК-2.
Задачу разбил на две подзадачи: 1. USB реализовал на основе апноута AVR309. Тут вопросов не возникло, кроме того, что минимальная скорость UART в данном случае всего 600 бод.
2. Пытаюсь сделать согласование скоростей UART. Вариант на Mega162 реализовать не удалось - подозреваю, что есть у 162 меги ограничения по питанию. Сейчас копаю в сторону апноута AVR304 на ATMeg8.
В связи с этим вопрос - что означает строчка в данном апноуте
" _EEGET(glob.u_buffer,ee_adr++); "
Заранее благодарен за помощь.
|
|
|
|
25.02.2010, 13:55
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Вот реализация отправки байта на свободную ногу (здесь portb.0). Сделано для отладочных нужд для Tiny44, тактовая как раз 8 МГц, скорость 115200. Отправляемый байт в регистре tmp1.
|
Код:
|
del4: // 43 cyc delay
rcall fooo
rcall fooo
rcall fooo
rcall fooo
ret
fooo: // 9 cyc delay
nop
nop
ret
toserial: //- shift ‹tmp1› to test leg with start-id 90 us use ‹tmp2›
clt
brbc SREG_I,PC+3
set ; save I bit in T bit
cli
sbi portb,0
rcall del4
push tmp2
ldi tmp2,8 ; start 69 cyc*0.125us=8.625 us : 115200 baud - 0.6%
rcall fooo
rcall fooo
tose2: lsr tmp1
brcc tose4
nop
cbi portb,0
rjmp toser
tose4: sbi portb,0
nop nop
toser: rcall del4
rcall fooo
push r0 lpm pop r0 ; 7 cyc
dec tmp2
brne tose2 ; byte $95 ___-s-_0_-1-_2_-3-_4_-5--6-_7__p_ lo 1 hi 0
push r0 pop r0 ; 4 cyc
cbi portb,0
rcall del4
rcall del4 ; stop
pop tmp2
brbc SREG_T,PC+2
sei ; restore I bit
ret |
Как видите, бОльшую часть времени занимают задержки. Прерывания на время передачи байта запрещены; toserial можно вызывать и из прерывания, т.к. бит I восстанавливается при выходе какой был.
|
|
|
|
25.02.2010, 15:32
|
|
|
Вид на жительство
Регистрация: 09.12.2009
Адрес: Россия, Тула
Сообщений: 376
Сказал спасибо: 191
Сказали Спасибо 153 раз(а) в 98 сообщении(ях)
|
Re: Нужно 2 UART на мк , как быть?
Два дешевых АВРа зацепите - будет 2 UART , а между ними обмен по SPI 
А если посылки по времени разнесены, то я делал перенос данных через другие ноги на ноги UART.
А еще кодировал посылки UARTa импульсами 36 кГц (для ИК-обмена)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:57.
|
|