Ребят, уже 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
|