Описание: Реализация протокола связи по радиоканалу |
Поиск в теме | Версия для печати |
vova_gorskih |
Отправлено: 17 Февраля, 2011 - 13:13:17
|
Рядовой
Сообщений всего: 8
Дата рег-ции: Февр. 2011
|
Дак там один байт и отправляется: старт бит-номер клавиши в бинарном виде-стоп бит, а потом ждёт нажатия очередной клавиши, пробовал делать так: во флэш память пишу массив из четырёх чисел :
flash int b0[4]={0,0,0,0};
flash int b1[4]={0,0,0,1};
flash int b2[4]={0,0,1,0};
flash int b3[4]={0,0,1,1};
flash int b4[4]={0,1,0,0};
flash int b5[4]={0,1,0,1};
flash int b6[4]={0,1,1,0};
flash int b7[4]={0,1,1,1};
flash int b8[4]={1,0,0,0};
flash int b9[4]={1,0,0,1};
и каждое число из массива отправляю через определённые промежутки времени, на той стороне собираю данные обратно в массив и делаю сверку на сопадение чисел, результат опять никак. |
|
|
Группа Инженеров |
Отправлено: 18 Февраля, 2011 - 10:09:38
|
Супермодератор
Сообщений всего: 497
Дата рег-ции: Авг. 2008
|
А, разве Вы Белый Волк, в предыдущем сообщение не по радиоканалу предлагаете байты пересылать? Что-то я не заметил в трансивере, который применяет vova_gorskih, собственного буфера, который работает по протоколу UART. Следовательно в этом модуле «открытые» вход/выход данных, из чего вытекает, то обстоятельство, что передача по радиоканалу происходит с одним стартовым битом.
Если я не прав, поправьте. |
|
|
Группа Инженеров |
Отправлено: 20 Февраля, 2011 - 00:14:36
|
Супермодератор
Сообщений всего: 497
Дата рег-ции: Авг. 2008
|
К сожалению, cjA, принятые данные при одном стартовом бите вряд ли перестанут быть случайными. Встать одним каналом осциллографа на входе модулятора передающей части, а вторым на выходе приёмника, конечно не помешает. Будет хотя бы видно нет ли там инверсии и, что там с соотношением сигнал/шум, хотя бы визуально. Но, вот, пытаться передавать данные в чистом протоколе UART, это номер дохлый. Прикиньте сами, что для удержания режима ожидания в таком случае, потребуется постоянно включённый передатчик, поскольку если его выключить, то шумы на выходе детектора приёмника моментально будут приняты UART-ом как некий код. И что потом с этим случайным кодом прикажете делать?
По-хорошему, помимо длинной стартовой последовательности, пакет защищается контрольной суммой, ещё лучше, когда помимо контрольной суммы применялся корректирующий код. Это нормальный подход к передаче данных по радиоканалу. Если это слишком «грузно», конечно можно «изобретать велосипед», но наигравшись в передачу данных, придёте к вышеизложенному подходу. Не верите? Посмотрите, как организуется связь в таких дивайсах как nRF905 и XE1205. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (3): « 1 [2] 3 » |
« Делимся опытом » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|