реклама на сайте
подробности

 
 
> Выловить глюк с помощью JTAG ICE MKii, проконсультируйте варианты нахождения глюков в программе
Склихасовский
сообщение Jun 17 2008, 09:48
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 29-11-06
Пользователь №: 22 912



Ребят, уже 5 е сутки башкой об стену бьюсь...
немогу заставить нормально работать RS485 сетку...
--------
вообщем попорядку...
кристалл MEGA 64 AI
задействовано 2 уарт
USART0 - реализация протокола WAKE (master)
USART1 - реализация протокола ModBUS (slave)
собственно основная проблема c сетью на WAKE:
структура сети 1 мастер куча слейв...
на данный момент идет опрос только одного подчиненного.
непонятно по каким причинам программа вываливается в тайм аут
время "сбрыкивания" от 2 х сек до минуты
(но полюбому сбрыкивает)
(тайм аут выбран от 10 до 200 мС [100]) скорость сети 19200
сначала думал слейв не отвечает...
подцепил ко входам USART0 лог анализатор...
он показывает что во время возникновения тайм аута слейв всетаки ответил
и ответил корректно..
линия переключения RX-TX на драйвере 485 все ОК
сделал контроль регистр - рассовал вовсе точки.
и такое впечатление что на момент глюка приемник не принимает ни одного байта
почему? посылка идет 10-15 байт..
вот и не могу отследить где косяк
прерывания RXCIE, TXCIE и RXEN TXEN - всё включено постоянно...
осваиваю MKII недавно, может там есть какая нибудь функция которая поможет?

Сообщение отредактировал Склихасовский - Jun 17 2008, 09:52
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Склихасовский
сообщение Jun 17 2008, 15:03
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 29-11-06
Пользователь №: 22 912



спасибо за советы...
Прерывания никогда не разрешаю в прерываниях..
переключение передача прием тоже смотрел анализатором (цифровой осцилограф) все ок
обработчик максимально короткий (+ на ASM пишу).
Но с ещё большей уверенностью могу сказать что RX не генерит прерывание
завел контрольный регистр и прописал его сразу после команды чтения UDR
далее присваиваю ему значение скажем $DD сразу после оканчания передачи фрема в сеть.
и стою на бреак поинте...
после вываливания в тайм аут вижу как был $DD так и остался $dd
регистры UCSRb - без изменений...
ещё раз повторюсь осцилограф стоит на ногах (RX) - (TX) - (bus_rx-tx)...
все ок...
все посылает все отвечает...
Завтра тупо отключу все процедуры...

Сообщение отредактировал Склихасовский - Jun 17 2008, 15:05
Go to the top of the page
 
+Quote Post
mse
сообщение Jun 18 2008, 05:29
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(Склихасовский @ Jun 17 2008, 19:03) *
спасибо за советы...

МК2 ещё умеет ставить бряк по доступу в память и в область памяти. Можете посмотреть, кто пишет в регистры управления УАРТ или порт, определяющий направление передачи, если есть подозрение на косячество по управлению.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Склихасовский   Выловить глюк с помощью JTAG ICE MKii   Jun 17 2008, 09:48
- - mdmitry   А зачем всегда прерывание по передаче стоит? У мен...   Jun 17 2008, 10:17
|- - defunct   Цитата(mdmitry @ Jun 17 2008, 13:17) А за...   Jun 17 2008, 13:52
- - Склихасовский   Да все это так... все верно так и сделано что в мо...   Jun 17 2008, 10:27
- - SasaVitebsk   Может не переключается с передачи на приём? Поэтом...   Jun 17 2008, 13:08
|- - defunct   Цитата(Склихасовский @ Jun 17 2008, 18:03...   Jun 17 2008, 16:05
||- - Склихасовский   Цитата(defunct @ Jun 17 2008, 20:05) Брек...   Jun 18 2008, 07:21
||- - mdmitry   Цитата(Склихасовский @ Jun 18 2008, 11:21...   Jun 18 2008, 07:33
- - Склихасовский   А почему нет? вакой я обслуживаю свои датчики с то...   Jun 18 2008, 07:43
- - SasaVitebsk   На вид (точно сказать не могу) очень малое время м...   Jun 18 2008, 10:37
- - Склихасовский   Цитата(SasaVitebsk @ Jun 18 2008, 14:37) ...   Jun 18 2008, 10:51
- - SasaVitebsk   Боже а TWI здесь каким боком? Если по прерывани...   Jun 19 2008, 18:45
- - Fusion   Цитата.org UDRE1addr ;= 0x004e; USAR...   Jun 19 2008, 19:30
- - Склихасовский   да не вектора правильно расположены.. это просто в...   Jun 20 2008, 06:44
- - SasaVitebsk   Цитата(Склихасовский @ Jun 20 2008, 09:44...   Jun 20 2008, 09:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 00:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016