Форум по микроконтроллерам: Связь двух мк по USART - Форум по микроконтроллерам

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Связь двух мк по USART

#1 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 371
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 04 Январь 2017 - 11:05

Столкнулся с не понятным. Сейчас далеко от дома. Играюсь на макетке.
Два контроллера PIC16F876A и PIC16F877A связаны по USART. Отлично передают/принимают каждый в отдельности через PL2303 на компе. Но друг с другом не хотят. При чем вижу в анализаторе отличные посылки на линии. Но приема нет. Тоже видно в отладчике, буфер не заполняется. Подключаю ноут через переходник, начинает принимать посылки. Настройки USART у обоих контроллеров одинаковые. Посмотреть осциллографом, :D что на линии творится пока не могу.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#2 Пользователь офлайн   Игорь Бутывский 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 219
  • Регистрация: 15 Февраль 11

Отправлено 04 Январь 2017 - 12:46

Сань покажи как у тебя обмен происходит. Покажи ПП обмена по USART.
0

#3 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 371
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 04 Январь 2017 - 15:28

А что показывать? Настройку или что? USART работает с компом. у каждого мк Но не работает в связки с другим мк на прием.
9 бит с детектированием адреса.9600 Передачу на линии вижу, четкую, безошибочную. Но флаг заполнения приемного буфера от мк не поднимается. От пк сразу хватает.
Может через что-то надо соединять выводы USART?
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#4 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 218
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 05 Январь 2017 - 21:20

Цитата

Может через что-то надо соединять выводы USART?

Между МК с одинаковыми уровнями я о таком не слышал. Работает просто перекрёстно соединив RX <-> TX и TX <-> RX

Раз приёмник не работает, проверяй регистры, причём, как на передачу так и на приём, стр.№100 в русском даташит на PIC**87xx.
МК пофиг откуда принимать, с компа или с другого МК, главное, чтоб выбранный вариант передачи был идентичен и верно подключен. В Асинхронном режиме требуется три провода, один туда, второй обратно и масса, причём туда и обратно нужен лишь для двустронки, а для передачи в один конец хватит и одного провода, точнее двух - сигнал + масса
Или попробуй сперва соединить эти МК в простом режиме 8 бит и без детектора адреса.
Или ещё вариант замкнуть МК сам на себя, т.е. соединить TX с RX, при этом переданные данные должны лечь в приёмный регистр этого же МК.

Не знаю, по той информации, что ты дал можно много советов давать, х.з. мало информации, знаем только что 9600бит, 9 бит +адрес... и всё?
главное начать, а война план покажет...
0

#5 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 371
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 05 Январь 2017 - 21:57

Разобрался. При передаче 9 бит надо поставить в 1. Тогда мк видит 9 бит и если установлен бит детектирования адреса, то начинается прием адреса. От ПК 8 разрядная передача. Мк считывал 9 бит как стоп и считал что разрешено детектировать адрес. А от мк нуль в 9 бите, мк считал, что адрес не его и данные не принимать. Даже буфер не заполнял. Вот это меня и смутило. Вообще не реагирует. :D
Ну и после приема адреса сравнить с собственным, если совпадает, то сбросить бит детектирования адреса, будет прием данных даже с 1 в 9 бите
В даташите об этом очень туманно сказано. Пришлось додумывать. А так прикольная штука для организации сети. Заканчиваю сеть 485 на 64 устройства. Никогда раньше не сталкивался. Спасибо за моральную поддержку. :drinks:
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#6 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 218
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 05 Январь 2017 - 22:15

Цитата

В даташите об этом очень туманно сказано. Пришлось додумывать

Во-во, я долго перечитывал даташит, когда УСАРТ делал, тож помучался, на русском как-то действительно мало им туманно.

Цитата

Спасибо за моральную поддержку.

Всегда пожалуйста)) :drinks:
Я на днях тоже буду два МК соединять по усарт, правда СТМ32, но там всё проще через КУБ.
главное начать, а война план покажет...
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей