|
Прием данных на Атмеге, Как правильно это организовать |
|
|
|
Nov 19 2008, 09:26
|
Частый гость
 
Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001

|
Здрастье, есть у меня такая проблема. Атмега, и приемник на 433Мгц ну от сигналки. Вот на ножку чипа приходит сигнал с приемника. Подскажите как выглядеть будет программа что бы просто записать принятые данные в виде единиц и нулей. Пакет приходит так: " Вся передача опирается на элемнтарный отрезок времени названный Те и равный обычно 400мкс. (документацией нормирован разброс от 280мкс до 620мкс). Итак передаваемый пакет: Он состоит из преамбулы (длиться 23Те, и нужна для того, чтоб оторвать приемник сиги от сладостного прослушивания помех), за ней следует заголовок пакета (header) – равен 10Те, и нужен для того чтоб проц в сиге смог определить длительность Те у принимаемого пакета данных… Затем идут собственно данные (66 бит или 198Те), и наконец Guard Time – время для того чтобы сига переварила принятое (39Те). Теперь о передаче данных.. бит передается за время равное 3Те.. В течении 1-го Те передается обязательно высокий уровень (красная часть), 2-е Те это собственно значение передаваемого бита (только инвертированное, те лог1 = низкий уровень, а лог0 соответственно = высокий уровень) – синяя часть.. И наконец в течении 3-го Те передается обязательный низкий уровень (зеленая часть).. " ВОТ! хочется попроще и оптимальный прием пакета
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Jun 28 2009, 15:34
|
Частый гость
 
Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001

|
Здравствуйте, подскажите плиз. Вообщем я пытаюсь принять сигнал с приемника, ну там есть элементы логическое 1=400мкс а 0=800мкс, ну хочу данные принять и пакет еще приходит с преамбулой (12шт логических 1 затем пауза 4милисекунд) мне важно что бы знать в какой фазе сейчас прием. Я покажу элемент кода, откоментируйти плиз что я не так делаю Код while (1) { if (PINA.0==0) { i=0; s=0; }; for (i=0;PINA.0==1;i++) { delay_us(1); s=i; }; printf("Dlitelnost ____|---|____="); printf("%u",s); printf("\n\r");
}; Подаю в протеусе сигнал где первый импульс, как и последующие имеет длинну около 400-800мкс, но в уарт выводятся значения произвольные от 1до 100, что я делаю не так? Если запускаю генератор достаточно медленный на 50милисекунд например он показывает длинну, а вот реальный пакет отправляю через audio генератор, не хочет. знаю что правильно организовать прием по перрыванию, но пока освоить не могу, их хорошо.
|
|
|
|
Сообщений в этой теме
Vny4ek Прием данных на Атмеге Nov 19 2008, 09:26 Dog Pawlowa Цитата(Vny4ek @ Nov 19 2008, 13:26) Здрас... Nov 19 2008, 09:56 Vny4ek нет проблема не в этом. Хочется просто не догоню к... Nov 19 2008, 09:58 Dog Pawlowa Цитата(Vny4ek @ Nov 19 2008, 13:58) а для... Nov 19 2008, 10:08 Vny4ek ок, если можно по подробней с чего начать, програм... Nov 19 2008, 11:02 vvvvv Идея такая. Настраиваешь вход с радиоканала на пре... Nov 19 2008, 11:03 Vny4ek СПАСИБО большое! То что надо, я потихоньку нач... Nov 19 2008, 11:11 Vny4ek будьте добры ткните носом в апноут, желательно что... Nov 25 2008, 14:14 Vny4ek Уважаемые, подскажите, обязательно ли в данном при... Apr 28 2009, 13:55 SasaVitebsk А что тут непонятного?
Инициализация таймера напри... Apr 29 2009, 08:51 xemul Майкрочип описАл процесс приема Keeloq не в одном ... Apr 29 2009, 09:25 Vny4ek to:SasaVitebsk спасибо большое, я потихоньку начин... Apr 29 2009, 12:39 xemul Цитата(Vny4ek @ Apr 29 2009, 16:39) to:xe... Apr 29 2009, 14:59 Vny4ek Я уже не первый день не могу никак освоить эти тай... May 2 2009, 10:41 Vny4ek Ребят, ну подскажите пожалуйста. May 3 2009, 08:08 rezident Таймер не нужно запускать по перепаду. Таймер долж... May 3 2009, 11:27 Vny4ek А можно пример привести, для кодвижена, принцип я ... May 3 2009, 11:43 rezident Предлагаю сделать наоборот. Вы предоставляете свой... May 3 2009, 11:54 Vny4ek ок, я полностью с вами согласен.
у меня есть приме... May 3 2009, 16:42 rezident Не нужно обрывков. Приводите ваш пример программы ... May 3 2009, 21:38 Vny4ek Вот привожу пример кода, для приема. Насколько мне... May 4 2009, 04:57 Dog Pawlowa Цитата(Vny4ek @ May 4 2009, 07:57) Вот пр... May 4 2009, 09:05 Vny4ek не понятно мне следующее: как отследить изменение ... May 4 2009, 10:02 Dog Pawlowa Цитата(Vny4ek @ May 4 2009, 13:02) не пон... May 4 2009, 10:13 Vny4ek Здраствуйте, я разбираюсь с одним кодом, задача та... Jun 7 2009, 14:09 XVR 1. В main нет зацикливания в конце
2. printf в обр... Jun 8 2009, 09:03 Vny4ek да я взял уже работающий пример, прием работает ко... Jun 8 2009, 09:14 Vny4ek Ребят, ну подскажите плиз, я понимаю что не лучшее... Jun 29 2009, 17:41 SasaVitebsk Блин. Во что лень делает....
Первый пост ноябрь 2... Jun 29 2009, 18:17 Goodefine Простите что вмешиваюсь, но возникла похожая пробл... Jun 30 2009, 05:49 Vny4ek Goodefine, узнаю в лицо точно! Я с ним ковырял... Jul 1 2009, 07:42 Vny4ek Ребят вот я начал потихоньку тут понимать что прои... Jul 27 2009, 05:41
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|