Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мультипроцессорный обмен
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Vikont
уже неделю мучаюсь с обменом через USART
MEGA8 ведущая -> MEGA8515 - 8 штук-- ведомых

- параметры протокола: 9N1
- в МЕГЕ8515 включен режим мультипроцессорной связи
- передаются пакеты - сначала байт адреса, потом данные пакета 8 байт

очень много проблем, главная - не игнорируються пакеты с данными (идут прерывания на всех пакетах) или я может не так понял документацию?

Иногда ведомый вообще забывает что он принимает 9 битовые пакеты (нет изменения бита RX8 да и в регистре данных нет изменения старшего бита, как будто установлен режим 7 бит данных :-( , я уже в прерывании переписываю настройки USARTA) короче ОЧЕНЬ нужна помошь

как правильно организовать обмен данными (вернее мне нужно только передавать данные ведомым)

если можно то хотел бы взглянуть пример кода отвечающего за обмен данными и инициализацию USART при мультипроцессорном режиме

Может проблема в MEGA8515 ?

Заранее благодарен, жду ответа
vikont-s@mail.ru

С уважением Сергей (Vikont)
Igor26
Цитата(Vikont @ Aug 22 2006, 15:56) *
уже неделю мучаюсь с обменом через USART
MEGA8 ведущая -> MEGA8515 - 8 штук-- ведомых

- параметры протокола: 9N1
- в МЕГЕ8515 включен режим мультипроцессорной связи
- передаются пакеты - сначала байт адреса, потом данные пакета 8 байт

очень много проблем, главная - не игнорируються пакеты с данными (идут прерывания на всех пакетах) или я может не так понял документацию?

Иногда ведомый вообще забывает что он принимает 9 битовые пакеты (нет изменения бита RX8 да и в регистре данных нет изменения старшего бита, как будто установлен режим 7 бит данных :-( , я уже в прерывании переписываю настройки USARTA) короче ОЧЕНЬ нужна помошь

как правильно организовать обмен данными (вернее мне нужно только передавать данные ведомым)

если можно то хотел бы взглянуть пример кода отвечающего за обмен данными и инициализацию USART при мультипроцессорном режиме
Может проблема в MEGA8515 ?

Заранее благодарен, жду ответа
vikont-s@mail.ru

С уважением Сергей (Vikont)

Я делал так. Сначала все участники обмена настроены на 9N1. В этом режиме посылаю байт адреса ведомого с которым хочу общаться. Перевожу мастера в 8N1. Ведомый, опознав свой адрес, тоже переходит в 8N1 и посылает байт(ы) "Готов. Валяй". Мастер начинает передавать данные. По окончании данных, мастер передает команду "Всё передал". Ведомый, приняв эту команду, а мастер передав снова настраививаются в режим 9N1. Далее всё по кругу.
Семён
Цитата
Я делал так. Сначала все участники обмена настроены на 9N1. В этом режиме посылаю байт адреса ведомого с которым хочу общаться. Перевожу мастера в 8N1. Ведомый, опознав свой адрес, тоже переходит в 8N1 и посылает байт(ы) "Готов. Валяй". Мастер начинает передавать данные. По окончании данных, мастер передает команду "Всё передал". Ведомый, приняв эту команду, а мастер передав снова настраививаются в режим 9N1. Далее всё по кругу.

могу ошибаться так как делал довно, но помойму переводить в режим 8N1 ненадо, просто первый бит в режиме 9N1 надо сделать нулевым. Если он равен 1 то считаеться? что передаеться адрес если 0 то данные.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.