Цитата(micronano @ Aug 2 2011, 12:55)

Всем доброго дня!
Кто-нибудь может подсказать как прочитать передачу интерфейса?
Известна его его скорость и структура. Даже не важно что это за интерфейс.
Пытаюсь по первому биту запускать таймер, и с частотой раз в бит увожу контроллер в прерывание, где считываю значение порта.
Но огромное количество ошибок самого разного плана: сдвиг, чтение 1 вместо 0, чтение 0 вместо 1... Не знаю что делать.
Сигнал прямоугольный, так что дело к коде.
Какие есть программные алгоритмы приема сигнала?
Чем больше известно параметров, тем лучше (если их использовать). Если запуск по первому биту. то это, скорее всего, стартстопный последовательный код. Нужно прочитать все, что найдется про UART (универсальный асинхронный приемо-передатчик).
Нужно отловить середину стартового бита и проконтролировать наличие стопового бита. Если это условие не выполняется, то ждать пока оно выполнится.
Сообщение отредактировал sup-sup - Aug 2 2011, 17:52