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

 
 
> LPC824 keypad, LPC8xx написание клавиатуры
mane_nado
сообщение Feb 16 2016, 16:40
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 16-02-16
Пользователь №: 90 481



Доброго времени суток.
Я мало знаком со схемотехникой, но передо мной поставлена задача - написание keypad для LPC824 контроллера
там 18 кнопок. 6 строк и 3 столбца
Для теста хочу обработать хотябы 1 кнопку. Первая строка это gpio 17 первый столбец это gpio 2 (Порт только один это порт 0)
Значит для 17 pin назначил DIR input значение 0
Для 2 pin назначил output значение 1
Код
while(1)
{
  read value pin 17
  if(value == 1)
{
         write to uart (button press)
   set value pin 17 = 0; //типо скинули
  }
}


Чет так не работает сколько не юлозел железкой по кнопке . GPIO_Init() есть
Есть еще там как я понял встроенный гистерезис для pin-а

Можно еще как то по прерываниию это сделать если есть примеры пришлите пожалуйста буду очень благодарен
Мне надо фиксировать нажатие отжатие
Пользуюсь IDE LPCXpresso и lib82_chip
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mane_nado
сообщение Feb 18 2016, 19:10
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 16-02-16
Пользователь №: 90 481



Я настроил один пин на прерывание если на входе у него будет 0 Далее в прерыании перебираю столбцы и смотрю все строки
Код
  
void PIN_INT0_IRQHandler(void)
{
    uint32_t k;
    k = Chip_PININT_GetIntStatus(LPC_PININT);
    if (k & PININTCH0)
    {
///my code
    }
}
//////////////////////////////////////////// settings pin and interrapt
            Chip_SYSCTL_SetPinInterrupt(0, 17);
    Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH0);
    Chip_PININT_SetPinModeEdge(LPC_PININT, PININTCH0);
    Chip_PININT_EnableIntLow(LPC_PININT, PININTCH0);
    NVIC_EnableIRQ(PIN_INT0_IRQn);
/////////////////////////////////////////

Но таких pin-ов у меня 6. Я могу сделать 6 одинаковых прерываний, но как то это не по человечьи. Надо чтобы было 1 прерывание для всех pin-ов. Как это делается в микроконтроллерах, должна быть какаето группировка. В LPC824 есть механизм pattern match engine- что это такое ?
Go to the top of the page
 
+Quote Post



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

 


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


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