|
Прием данных на Атмеге, Как правильно это организовать |
|
|
|
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-го Те передается обязательный низкий уровень (зеленая часть).. " ВОТ! хочется попроще и оптимальный прием пакета
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
May 4 2009, 10:13
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Vny4ek @ May 4 2009, 13:02)  не понятно мне следующее: как отследить изменение уровня, и по этому событию запустить таймер, далее его остановить при переходе уровня из 1 в 0 Я опять процитирую уважаемого rezidentа: "Таймер не нужно запускать по перепаду. Таймер должен всегда работать с (авто)переполнением. Перепад на входе фиксируется в регистре захвата (capture). Беззнаковая разность двух соседних значений, полученных из регистра захвата, дает длительность между фронтами в тактах таймера..." Вот пример запуска постоянно работающего таймера в ATmega32: Код void BackgroundInit() { TCCR0=0; //stop TC0 TCCR0 = 1 << WGM01; // ClearTimertoCompare mode, TC0 top on OCR0 TCNT0 = 0x01; // initial value TC0 OCR0 = 249; // TOP 250 kHz/(249+1)=1 kHz TIMSK = TIMSK & ~(1 << TOIE0) | (1 << OCIE0); TIFR |= (1 << OCF0) | (1 << TOV0); } Добавьте инициализацию схем захвата.
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
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 Здраствуйте, я разбираюсь с одним кодом, задача та... Jun 7 2009, 14:09 XVR 1. В main нет зацикливания в конце
2. printf в обр... Jun 8 2009, 09:03 Vny4ek да я взял уже работающий пример, прием работает ко... Jun 8 2009, 09:14 Vny4ek Здравствуйте, подскажите плиз. Вообщем я пытаюсь п... Jun 28 2009, 15:34 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|