реклама на сайте
подробности

 
 
> Как опредилить состояние нужного бита в порте в - IAR ?, Нужно сделать несколько кнопок, а не выходит, В WinAVR с этим проще
Denis89
сообщение Apr 10 2009, 11:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-04-09
Пользователь №: 47 468



Вобщем стыдно блин, crying.gif как чайник не могу сделать несколько кнопок на Mega32. Вобщем есть программа MMC плеера на AVR, я решил её заюзать в своём проекте. Всё работает, а кнопки которые я от себя добавил не хотят.

Вобщем в WinAVR это очень просто и всегда работает.
Урезанная Часть кода из моего проекта тахометра который я брату в девятку делал

Код
#define leds PD3  //Обзываем кнопки именами
#define lcd PD4
#define regim PD0

//***************************

//Думаем что же там было нажато
volatile uint8_t key (volatile uint8_t s){
   if (!(_SFR_BYTE(PIND) & _BV(s)))    // или аналог  (bit_is_clear(PIND,s))
  {  
        _delay_loop_2(100);
        if (!(_SFR_BYTE(PIND) & _BV(s)))
    {return (0);}
  }
  return (1);
}

//***********************************

void check_keys(){       // Расставляем флаги по нажатым кнопкам
    if ((key(regim)) == 0 ) {key_pr=3;}
    if ((key(lcd)) == 0 ) {key_pr=2;}
    if ((key(leds)) == 0 ) {key_pr=1;}
                        
}


Вообщем как гениально просто это сделать на IAR?

К статье прилагается архив, со схемой и исходниками. Посмотрите пожалуйсто smile3046.gif
Прикрепленные файлы
Прикрепленный файл  MMC_Player_Source_IAR.rar ( 119.37 килобайт ) Кол-во скачиваний: 18
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 07:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01336 секунд с 7
ELECTRONIX ©2004-2016