ilnur888 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Здравствуйте kovigor! Спасибо Вам большое за проект :-)!!! Хотел бы в программе разобраться, вот данные устройства вообще что делают? Просто передают данные? Еще я на сайте смотрел что используется кодер/декодер типа MC145026/MC145028 можно и самим МК закодировать и раскодировать чтоли? Код на асме вы писали да? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Здравствуйте kovigor! Спасибо Вам большое за проект :-)!!! Хотел бы в программе разобраться, вот данные устройства вообще что делают? Просто передают данные? Еще я на сайте смотрел что используется кодер/декодер типа MC145026/MC145028 можно и самим МК закодировать и раскодировать чтоли? Код на асме вы писали да? 1. Передатчик передает 16-байтовый код одной из команд, приемник принимает этот код и проверяет его корректность (CRC16). Если код корректен, то приемник исполняет команду, если нет - игнорирует команду и ожидает следующую. 2. Несложно вместо фиксированных кодов сделать передачу данных, получаемых от того же UART. 3. Можно использовать кодер/декодер, но можно кодировать/декодировать с помощью МК, что я и сделал. 4. Нет, проект написан на Си, только цифровые фильтры приемника написаны (мной, конечно же) на АСМе для достижения макс. быстродействия. 5. Проект компилировался в CodeVision ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilnur888 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба 1. Передатчик передает 16-байтовый код одной из команд, приемник принимает этот код и проверяет его корректность (CRC16). Если код корректен, то приемник исполняет команду, если нет - игнорирует команду и ожидает следующую. 2. Несложно вместо фиксированных кодов сделать передачу данных, получаемых от того же UART. 3. Можно использовать кодер/декодер, но можно кодировать/декодировать с помощью МК, что я и сделал. 4. Нет, проект написан на Си, только цифровые фильтры приемника написаны (мной, конечно же) на АСМе для достижения макс. быстродействия. 5. Проект компилировался в CodeVision ... Я так понял что можно закодировать и передать только один байт.... по даташиту... может я ошибаюсь? Или в вашей программе такая технология что сначала передается половина команды (1 байт), затем следующая половина (тоже 1 байт?). А нет, ошибся, понял, извиняюсь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Я так понял что можно закодировать и передать только один байт.... по даташиту... может я ошибаюсь? Или в вашей программе такая технология что сначала передается половина команды (1 байт), затем следующая половина (тоже 1 байт?). А нет, ошибся, понял, извиняюсь... Там скорее побитовая передача. Передатчик этот о байтах вообще ничего не знает, приемник - тоже, о командах - тем более. Данные я передаю поразрядно, каждый разряд кодируется Манчестерским кодом - перепадом определенного направления в середине битового интервала. Передавайте битов столько, сколько вам нужно. Можете написать вашу программу так, что она будет передавать 7-ми или 10-разрядные "байты" - это ваше дело. Можете вообще передавать биты сплошным потоком, как по проволоке. Проще говоря, передатчик и приемник ничего не знают о том, какова разрядность ваших данных - хоть 1 бит, хоть 8, хоть 127, и о том, как эти данные форматируются, организуются и проч. Зато об этом обязаны знать программы на приемном и передающем концах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться