Jump to content

    
Sign in to follow this  
mne_nado

LPC824 keypad

Recommended Posts

Доброго времени суток.

Я мало знаком со схемотехникой, но передо мной поставлена задача - написание 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

Share this post


Link to post
Share on other sites
Доброго времени суток.

Я мало знаком со схемотехникой, но передо мной поставлена задача - написание keypad для LPC824 контроллера

там 18 кнопок. 6 строк и 3 столбца

Для теста хочу обработать хотябы 1 кнопку. Первая строка это gpio 17 первый столбец это gpio 2 (Порт только один это порт 0)

 

А если же использовать старый добрый GPIO то вы просто сканируете эти столбцы -- сам дрыгаете ножками и смотрите данные на входе.

В качестве примеров использования рекомендую посмотреть его собрата -- LPC812 или LPC11u68 -- может там есть примеры. Почему рекомендую их потому что они вышли примерно в это же время и поэтому АПИ и аппаратная часть думаю похожи поэтому и код дёрганья ножками и примеры скорее тоже.

 

 

теперь по теме в контроллере есть умная штука - SCT -- умный счётчик -- которая может по входным сигналам вырабатывать прерывания и генерировать

различные меандры -- причём без участия процессора -- на выходах рекомендую посмореть видео на YOUTUBE --

 

Сорри за :bb-offtopic:

 

Это очень интересный контроллер от NXP и паябельный корпус есть -- некий аналог по числу ножек и возможностяем meg-e

но к сожалению достать я его по приемлемой цене никак не смог ( цена его при заказе от 1000 шт что то в районе 2баксов или того меньше

а вот купить 10 штук в России я так ничего подходящего не нашёл. Я бы взял 812ый с Aliexpress но он без АЦП (. может подскажет кто.

Брать 30долларовый MAX824 из-за 2$ контроллера жаба душит )).

Share this post


Link to post
Share on other sites
Это очень интересный контроллер от NXP и паябельный корпус есть -- некий аналог по числу ножек и возможностяем meg-e

но к сожалению достать я его по приемлемой цене никак не смог ( цена его при заказе от 1000 шт что то в районе 2баксов или того меньше

а вот купить 10 штук в России я так ничего подходящего не нашёл. Я бы взял 812ый с Aliexpress но он без АЦП (. может подскажет кто.

Брать 30долларовый MAX824 из-за 2$ контроллера жаба душит )).

Элитан - по 189р при заказе 10 шт в корпусе TSSOP-20 как хотели,

Edited by sherr

Share this post


Link to post
Share on other sites

Я настроил один пин на прерывание если на входе у него будет 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- что это такое ?

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this