Strona 1 z 1

STM32F4 Discovery push button

: poniedziałek 19 paź 2015, 09:01
autor: RafPe
Hey ,

Wiec bawie sie w przerabianie STM32 totalnie od poczatku i nie wiem dlaczego utknalem na podstawowej obsludze guzika ( juz nie mowie nawet o drganiach stykow :) )

Wiec najpierw wlaczam sobie obsluge ledow - to dziala bezproblemowo

Kod: Zaznacz cały


        // Create GPIO struct
   GPIO_InitTypeDef GPIO_InitStructure;

   // Configure LED on port 12
   GPIO_InitStructure.GPIO_Pin      = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
   GPIO_InitStructure.GPIO_Speed   = GPIO_High_Speed;
   GPIO_InitStructure.GPIO_Mode    = GPIO_Mode_OUT;
   
   // Initialize the PINs
   GPIO_Init(GPIOD, &GPIO_InitStructure);



Pozniej dodaje push button i wlaczam zegary

Kod: Zaznacz cały


   /*
    *   Inicjalizacja pushbuttona
    */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // Tutaj podlaczony jest push button w discovery
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
   GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;
   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
   
   // Initialize the PINs
   GPIO_Init(GPIOA, &GPIO_InitStructure);
   
   // Enable clock
   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);





No i nastepnie w petli glownej :

Kod: Zaznacz cały

      
      // odczytaj wartosc bitu
      uint32_t ccc = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);
      
      
      if (ccc)
      {
                        // zrob cos ....
       }



No i niestety nie odpala mi sie warunek tak jakby moj klawisz nigdy nie byl nacisniety ? Ktos widzi jakiegos wielkiego babola tutaj moze ?

Re: STM32F4 Discovery push button

: poniedziałek 19 paź 2015, 09:34
autor: RafPe
Kurcze czyzby to bylo az tak trywialne :O Normalnie az face palm :D