ARM STM32F0 İf – Else Kontrol Yapısı

474 Kişi Okudu
unsigned int a ;
void main ()
{
  GPIO_Digital_Input (&GPIOA_IDR, _GPIO_PINMASK_0) ;
  GPIO_Digital_Output(&GPIOB_ODR, _GPIO_PINMASK_5) ;
  GPIO_Digital_Output(&GPIOC_ODR, _GPIO_PINMASK_8 | _GPIO_PINMASK_1 | _GPIO_PINMASK_14 | _GPIO_PINMASK_9) ;
  GPIO_Digital_Output(&GPIOB_ODR, _GPIO_PINMASK_12) ;
   do
    {
      GPIOC_ODR.B14 = 1 ;
      Delay_ms (1) ;
      GPIOC_ODR.B14 = 0 ;
      Delay_ms (10) ;
      GPIOC_ODR.B1 = 1 ;

      a = 1 ;
       if (Button(GPIOA_IDR, 0, 1, 1))
      {
       GPIOC_ODR.B1 = 0 ;
       GPIOC_ODR.B14 = 1 ;
       Delay_ms(200);
       do
       {
        GPIOC_ODR.B14 = 1 ;
        if (GPIOA_IDR.b0 == 1) {a=0;}
       delay_ms (110) ;
       } while (a) ;
    }
   } while (1) ;
} 

Stm32F0 MikroC Ders 2

482 Kişi Okudu

Örnek 7 segmentli Display Uygulama Kodları

unsigned int i ;
void bir()
{
 GPIOB_ODR.B2 = 1 ;
 GPIOF_ODR.B4 = 1 ;
}

void yok()
{
 GPIOb_ODR.B10 = 0 ;
 GPIOb_ODR.B2 = 0 ;
 GPIOb_ODR.B12 = 0 ;
 GPIOb_ODR.B11 = 0 ;
 GPIOa_ODR.B5 = 0 ;
 GPIOa_ODR.B4 = 0 ;
 GPIOF_ODR.B4 = 0 ;
 GPIOa_ODR.B5 = 0 ;

}

void iki()
{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void uc ()

{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOB_ODR.B12 = 1 ;
 GPIOF_ODR.B4 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void dort()
{
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void bes()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOF_ODR.B4 = 1 ;
 GPIOa_ODR.B4 = 1 ;
}

void alti ()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11= 1 ;
 GPIOb_ODR.B12= 1 ;
 GPIOa_odr.b5 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void yedi()
{
 GPIOB_ODR.B10 = 1 ;
 GPIOB_ODR.B2 = 1 ;
 GPIOF_ODR.B4 = 1 ;
}

void sekiz()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void dokuz()
{
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOf_ODR.B4 = 1 ;
 GPIOA_ODR.B4 = 1 ;
}

void sifir()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOa_ODR.B4 = 1 ;
 GPIOa_ODR.B5 = 1 ;
 GPIOf_ODR.B4 = 1 ;
}

void a()
{
 GPIOb_ODR.B10 = 1 ;
 GPIOb_ODR.B11 = 1 ;
 GPIOb_ODR.B2 = 1 ;
 GPIOb_ODR.B12 = 1 ;
 GPIOf_ODR.B4 = 1 ;
 GPIOa_ODR.B5 = 1 ;
}

void main() {
   GPIO_Digital_Input(&GPIOA_IDR, _GPIO_PINMASK_0);
   GPIO_Digital_Output(&GPIOA_ODR, _GPIO_PINMASK_3 | _GPIO_PINMASK_4 | _GPIO_PINMASK_5 );
   GPIO_Digital_Output(&GPIOC_ODR, _GPIO_PINMASK_14 | _GPIO_PINMASK_9 | _GPIO_PINMASK_8 );
   GPIO_Digital_Output(&GPIOB_ODR, _GPIO_PINMASK_2 | _GPIO_PINMASK_10 | _GPIO_PINMASK_11 | _GPIO_PINMASK_12 | _GPIO_PINMASK_12 );
  GPIO_Digital_output(&GPIOF_ODR, _GPIO_PINMASK_4) ;

  i = 0;
  do{
   if (GPIOA_IDR.B0 == 1)
  {
   i=i+2;
  }
  delay_ms(250);

 yok();
  if ( i == 1)
  {
   bir();
  }
  else if ( i == 2)
{
  iki();
}
else if ( i == 3)
{
  uc();
}
else if ( i == 4)
{
dort();
}
else if ( i == 5)
{
bes();
}

else if ( i == 6)
{
alti();
}

else if ( i == 7)
{
yedi();
}

else if ( i == 8)
{
sekiz();
}

else if ( i == 9)
{
dokuz();
}

else
{
i = 0 ;
sifir () ;
}
} while (1);
} 

ARM ders 1

477 Kişi Okudu

STM32F051r8 mikro denetleyicinin mikroC tarafından programlaması üzerine yapılan bir video çalışması
bu videoda yeni bir projenin oluşturulmasından ve stm32f0 discovery kartının üzerinde bulunan kullanıcı ledlerinden birini yakarak ilk uygulamamızı yapıyoruz.

ayarlar

Ayarlarımızı yukarıda resimde görüldüğü gibi değiştiriyoruz. Eğer değişiklik yapmazsak bekleme beklemelerde ve zaman değerlerinde sorunlar yaşanır.

Okumaya devam et ARM ders 1