Найдено 42 результата
- Сб мар 16, 2013 22:36:20
- Форум: Периферия
- Тема: Нужна помощь по протоколу RС5 в CVAVR
- Ответы: 17
- Просмотры: 3863
Re: Нужна помощь по протоколу RС5 в CVAVR
С протоколом разобрался, испробовал различные варианты обработки команд. Всем большое спасибо за помощь!
- Чт мар 14, 2013 14:25:27
- Форум: Периферия
- Тема: Нужна помощь по протоколу RС5 в CVAVR
- Ответы: 17
- Просмотры: 3863
Re: Нужна помощь по протоколу RС5 в CVAVR
Приведу свой пример декодера RC-5: Интересный код. Но, чтобы мне его применить, есть несколько вопросов:
- какой тип МК применен?
- какая тактовая частота ЦПУ?
- где Вы вызываете функции char RC5_GetSys(void) и char RC5_GetCom(void) , в цикле while(1) ?
Просто, если я выполняю команду в этом цикле ...
- какой тип МК применен?
- какая тактовая частота ЦПУ?
- где Вы вызываете функции char RC5_GetSys(void) и char RC5_GetCom(void) , в цикле while(1) ?
Просто, если я выполняю команду в этом цикле ...
- Пн мар 11, 2013 23:20:22
- Форум: Периферия
- Тема: Нужна помощь по протоколу RС5 в CVAVR
- Ответы: 17
- Просмотры: 3863
Re: Нужна помощь по протоколу RС5 в CVAVR
Ребята, а пример кода можно? Хотя бы за что-то зацепиться. Только познаю азы программирования.
- Пн мар 11, 2013 17:57:26
- Форум: Периферия
- Тема: Нужна помощь по протоколу RС5 в CVAVR
- Ответы: 17
- Просмотры: 3863
Re: Нужна помощь по протоколу RС5 в CVAVR
Это я знаю, а как практически его применить?pyzhman писал(а): Т.е. по состоянию этого бита можно определить отпускалась кнопка или нет.
Это я не так выразился. Как програмно отследить этот бит?А длительность нажатия - никоим образом.
- Пн мар 11, 2013 12:41:48
- Форум: Периферия
- Тема: Нужна помощь по протоколу RС5 в CVAVR
- Ответы: 17
- Просмотры: 3863
Нужна помощь по протоколу RС5 в CVAVR
Пытаюсь освоить протокол RC5. Пересмотрел кучу примеров на форумах, все они до записи кода в буфер. А в исходниках к программам так и не смог выделить чисто протокол управления, для меня это слишком сложно. Так и не понял, как отличить одиночное нажатие кнопки пульта от длительного удержания?
Знаю ...
Знаю ...
- Ср мар 06, 2013 20:53:35
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
В файле:Enigm писал(а):скините свой проэктик в протеусе с хексом.
- Ср мар 06, 2013 03:38:34
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Наконец то разобрался со всеми примерами. Работают оба предложенных варианта. Узнал для себя много нового.
За помощь всем большое СПАСИБО!
Тему можно считать закрытой.
За помощь всем большое СПАСИБО!
Тему можно считать закрытой.
- Вт мар 05, 2013 23:56:50
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Вобщем попробую обьяснить. Это тот же бесконечный цикл, с которым у меня не получается.
Код.. Что-то уменя не получается. Может подскажете, что я делаю не так? Код: void key3Execute(void) // обрабатывает нажатие кнопки 3
{
unsigned int key_long_time = KEY_LONG_TIME; // текущее количество полных ...
Код.. Что-то уменя не получается. Может подскажете, что я делаю не так? Код: void key3Execute(void) // обрабатывает нажатие кнопки 3
{
unsigned int key_long_time = KEY_LONG_TIME; // текущее количество полных ...
- Пн мар 04, 2013 13:28:22
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Да! Работает нормально.Enigm писал(а):Работает как нужно ?
А вот с while(find) почему то не хочет!
- Вс мар 03, 2013 21:43:22
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Спасибо, буду пробовать.
- Сб мар 02, 2013 22:11:33
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Значение переменной проверяю в цикле:Барсик писал(а):Ну и проверяйте значение этой переменной в цикле. В чём проблема то? Кто (или что) изменяет значение этой переменной?
Код: Выделить всё
if(PINA.5==0) find = 1;
else find = 0;- Пт мар 01, 2013 14:30:03
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
.....как отличить короткое нажатие от длинного. Интересный пример, буду пробовать! Что будет не ясно-напишу.
С кодом разобрался, приспособил под себя. Отрабатывает и одиночное нажатие, и повтор, но только если удерживаешь кнопку. Я, так думаю, что и с АЦП получится. Но есть один нюанс. Как сделать ...
С кодом разобрался, приспособил под себя. Отрабатывает и одиночное нажатие, и повтор, но только если удерживаешь кнопку. Я, так думаю, что и с АЦП получится. Но есть один нюанс. Как сделать ...
- Ср фев 27, 2013 19:39:22
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Интересный пример, буду пробовать! Что будет не ясно-напишу.Барсик писал(а):.....как отличить короткое нажатие от длинного.
- Вт фев 26, 2013 22:30:36
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Вот здесь: Спасибо. Попробую разобраться. Как я этот код не крутил, мне он не подходит.
Поскольку портов свободных у меня хватает, переписал код под кнопки, пока так:
unsigned char find = 0;
unsigned char KEYPRESS (void);
unsigned char Key;
unsigned char KEYPRESS ()
{
if (find){
if(!PINC.5 ...
Поскольку портов свободных у меня хватает, переписал код под кнопки, пока так:
unsigned char find = 0;
unsigned char KEYPRESS (void);
unsigned char Key;
unsigned char KEYPRESS ()
{
if (find){
if(!PINC.5 ...
- Пн фев 25, 2013 16:38:56
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Спасибо. Попробую разобраться.Барсик писал(а):Вот здесь:
- Пн фев 25, 2013 13:02:21
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Вот и возник резонный вопрос, как лучше делать. Задавать константы, или непосредственно вписывать значения? Сколько пересмотрел исходников, везде по разному. Есть ли на этот счет однозначный ответ?
- Пн фев 25, 2013 01:04:38
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
на кнопки+ и - реакция должна быть Нет.
Версия Протеус у меня 7.10, хотя в интернете есть и 7.11. Пока ее не ставлю, подожду 8.0, демо уже на сайтах есть. Листинг:
#define ADC_VREF_TYPE 0x60
char find = 0;
#define K5_min 115
#define K5_max 130
#define K4_min 87
#define K4_max 100
#define K3_min ...
Версия Протеус у меня 7.10, хотя в интернете есть и 7.11. Пока ее не ставлю, подожду 8.0, демо уже на сайтах есть. Листинг:
#define ADC_VREF_TYPE 0x60
char find = 0;
#define K5_min 115
#define K5_max 130
#define K4_min 87
#define K4_max 100
#define K3_min ...
- Вс фев 24, 2013 03:14:09
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Правильно, буду очень благодарен! А в Proteus я в основном и моделирую, очень помогает на этапе отладки.Enigm писал(а):Я правильно понял логику работы?
Proteus используете ?
- Вс фев 24, 2013 00:29:48
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
Задам пару вопросов... Во первых переписал функцию опроса ADC, задал перед этим диапазоны срабатывания кнопок:
unsigned char KEYPRESS ()
{
unsigned char Key,KeyTmp,i; // нажатая клавиша
KeyTmp=read_adc(6);
for (i=0;i<10;i++) // програмный антидребезг контактов
delay_ms(15);
if (KeyTmp < K5_max ...
unsigned char KEYPRESS ()
{
unsigned char Key,KeyTmp,i; // нажатая клавиша
KeyTmp=read_adc(6);
for (i=0;i<10;i++) // програмный антидребезг контактов
delay_ms(15);
if (KeyTmp < K5_max ...
- Сб фев 23, 2013 19:52:08
- Форум: Периферия
- Тема: Помогите с обработкой кнопок через ADC в CVAVR
- Ответы: 36
- Просмотры: 6036
Re: Помогите с обработкой кнопок через ADC в CVAVR
zero648 писал(а):Схему подключения кнопок посмотреть.
Переменная-это частота. При нажатии на кнопку изменяется на один шаг. ПробовалEnigm писал(а):сделайте условие где например find=1 or k1=чему там у вас.) Что за переменая..
и find=1 и k1=, не получается.find=1 or k1=