|
2 USART под RS485 на ATMega162 |
|
|
|
Mar 15 2009, 20:31
|
Группа: Новичок
Сообщений: 13
Регистрация: 28-06-08
Пользователь №: 38 608

|
Здравия желаю всем !
Делаю устройство на Mega162 с двумя протоколами modbus. USART0 - master, посылает всего 11 разных запросов. USART1 - slave, отвечает на эти 11 запросов с некоторыми корректировками. То есть устройство устанавливается между master и slave и общается с ними с нужными мне исправлениями.
В общем, сделал отдельно master и slave - работает, но когда все в целом, то работает только slave, а master зацикливается на 1-й посылке, иногда 2-я проскакивает.
Вроде проблема с прерываниями, т.к. slave постоянно принимает и отвечает, и не дает master работать. Игрался с запретом прерываний, но ничего не помогло.
Также делал чтобы slave принял, ответил, а потом master послал, принял, поочередно, но так теряется слейвом фреймы.
У кого могут быть какие идеи? Такое устройство возможно ли вообще?
Мега162, кварц - 3,6864... Параметры связи обоих 2400-О-1...
|
|
|
|
|
 |
Ответов
|
Mar 22 2009, 10:13
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-08-05
Пользователь №: 7 466

|
Цитата(vetalxh @ Mar 15 2009, 22:31)  Здравия желаю всем !
Делаю устройство на Mega162 с двумя протоколами modbus. USART0 - master, посылает всего 11 разных запросов. USART1 - slave, отвечает на эти 11 запросов с некоторыми корректировками. То есть устройство устанавливается между master и slave и общается с ними с нужными мне исправлениями.
В общем, сделал отдельно master и slave - работает, но когда все в целом, то работает только slave, а master зацикливается на 1-й посылке, иногда 2-я проскакивает.
Вроде проблема с прерываниями, т.к. slave постоянно принимает и отвечает, и не дает master работать. Игрался с запретом прерываний, но ничего не помогло.
Также делал чтобы slave принял, ответил, а потом master послал, принял, поочередно, но так теряется слейвом фреймы.
У кого могут быть какие идеи? Такое устройство возможно ли вообще?
Мега162, кварц - 3,6864... Параметры связи обоих 2400-О-1... Делал такое: модбас на меге 162 в два USARTA, без прерываний (только переполнение таймера для интервалов), работает устойчиво на 115200. Кстати, действительно, почему такая маленькая частота кварца? Подсчёт контрольной суммы "на лету". Написано на ассемблере. Если интересно могу выслать исходник без дешифратора команд и других "прибамбасов". Только работа USATR'ов. Мой адрес sitafern@ukr.net
|
|
|
|
Сообщений в этой теме
vetalxh 2 USART под RS485 на ATMega162 Mar 15 2009, 20:31 smac Цитата(vetalxh @ Mar 15 2009, 23:31) ...
... Mar 15 2009, 21:09 vetalxh Цитата(smac @ Mar 16 2009, 01:09) Устройс... Mar 15 2009, 22:38 vetalxh Кода вообще много... Постараюсь основное. Сильно н... Mar 15 2009, 21:31 sensor_ua Не разбирался, но взглянул. Заметил такое: выключе... Mar 15 2009, 22:43 vetalxh 1) С работой слейва проблем не возникало. Смотрю м... Mar 15 2009, 22:57 Огурцов Цитата(vetalxh @ Mar 15 2009, 20:31) Врод... Mar 15 2009, 23:06 sensor_ua ЦитатаВопрос с 3.5 задержкой связан с готовым устр... Mar 15 2009, 23:06 vetalxh sensor_ua, спасибо, буду думать...
А можно по-подр... Mar 15 2009, 23:42 Огурцов Организуйте прерывание от таймера и проверяйте в н... Mar 15 2009, 23:51  vetalxh Цитата(Огурцов @ Mar 16 2009, 03:51) Орга... Mar 16 2009, 00:11   vetalxh В прерывании таймера проверять оба уарта? А если п... Mar 16 2009, 09:08    smac Цитата(vetalxh @ Mar 16 2009, 12:08) В пр... Mar 16 2009, 19:37     vetalxh Короче, думал-думал...Решил обойти все это еще одн... Mar 16 2009, 22:26 defunct Цитата(vetalxh @ Mar 15 2009, 22:31) У ко... Mar 17 2009, 00:19 vetalxh Цитата(defunct @ Mar 17 2009, 03:19) А ка... Mar 17 2009, 08:15  Палыч Цитата(vetalxh @ Mar 17 2009, 11:15) И во... Mar 17 2009, 08:52   vetalxh Цитата(Палыч @ Mar 17 2009, 11:52) Очень ... Mar 17 2009, 10:47 _Pasha Цитата(defunct @ Mar 17 2009, 04:19) для ... Mar 17 2009, 08:43  vetalxh Цитата(_Pasha @ Mar 22 2009, 15:44) Недав... Mar 22 2009, 16:41 vetalxh Утройство сделал. Даже хватило кварца на 3,6864...... Mar 22 2009, 20:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|