roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 21:12

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Передача информации с помощью ИК
СообщениеДобавлено: 19 мар 2011, 20:36 
Не в сети
Аватара пользователя

Зарегистрирован: 10 фев 2011, 22:35
Сообщения: 22
Доброго времени суток.
Пытаюсь передавать 4 команды от одного контроллера к другому. МК 1 Трансивер Tiny 13, приемник tiny2313. Передать одну команду(внешнее прерывание в тини) не проблема, все работает. А вот никак не могу разобраться с алгоритмом и его реализацией для нескольких команд.
Для передатчика использую следующий алгоритм:
Если нажата кнопка 1
-передаю 5 раз 20 импульсов с паузой 260мкс после каждого импульса
Если нажата кнопка 2
-передаю 10 раз 20 импульсов с паузой 260мкс после каждого импульса
...
Если нажата кнопка 4
-передаю 20 раз 20 импульсов с паузой 260мкс после каждого импульса


Приемник должен гонять таймер с частотой самого длинного импульса, в моем случае 26мкс(время 1 импульса)*20(кол-во пульсаций)*20(раз передается импульс)+260мкс(задержка после каждой пачки импульсов)*20(пачек импульсов)=15,6 мс. Что равно 64 Гц (если я не ошибаюсь).

В момент когда нажата кнопка на передатчике, на приемнике срабатывает внешнее прерывание

interrupt [EXT_INT0] void ext_int0_isr(void)
{
TCNT0=0xF0; //запускаем таймер 64 Гц, время самого длинного импульса
TCCR0B=0x04;

}

И в этот момент мне нужно посчитать сколько же было послано пачек 5,10, 15, или 20. Как не знаю. Застрял. Помогите. Может быть есть стандартные библиотеки для МК на этот случай.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача информации с помощью ИК
СообщениеДобавлено: 19 мар 2011, 21:23 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Модератор "=DeaD=":Название поправлено.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача информации с помощью ИК
СообщениеДобавлено: 20 мар 2011, 23:53 
Не в сети

Зарегистрирован: 03 фев 2011, 03:23
Сообщения: 41
Откуда: Новгород
а зачем чтото гонять на таймере ? не легче просто считать сколько раз прерывание случалось ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача информации с помощью ИК
СообщениеДобавлено: 21 мар 2011, 00:24 
Не в сети
Аватара пользователя

Зарегистрирован: 10 фев 2011, 22:35
Сообщения: 22
Хм возможно, спасибо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO