Stm32f4 ile Kara Şimşek Devresi

Merhaba arkadaşlar bu yazıda dönem içinde aldığım gömülü sistemler dersinde kullandığımız Stm32f4 Discovery Arm ile yaptıklarımı yazıcam elektronik ile hobi olarak ilgilenmekteyim bu arada 😀 öncelikle kullanıcağımız ARM işlemcisi hakkında ufak bilgiler veriyim. Öncelikle ARM hakkında ufak bir bilgi vereyim ARM(Advanced Risc Machines) bir mikrodenetleyici veya işlemci değildir. Kendine ait bir mimarisi vardır. Kodlarımızı MicroC ARM Derleyicisinde yazıyoruz dil olarak ise C dilini kullanıyoruz.

47caa801-d5fc-4af0-90d9-d64373341c01

kullanıcağımız kitte önemli olan noktalardan biri port kullanımı bu örnekte pek kullanmayacağız ama LCD ve led bagladığımızda portlarla haşır neşir olacağız.
Örneğimize gecelim MicroC’de proje açalım
1

şekildeki gibi new project diyoruz karşımıza bu ekran geliyor.

2

Proje adı ve kartımızın adını seçiyoruz. Daha sonra 2 defa next diyerek projenimizi açıyoruz.
proje kodlarımız şu şekilde

#define YON durum.B0
 char sayi=0,durum=0;
 
 
 
void main() {
/* 4 TANE LED OUTPUT OLARAK BELİRTİLİR. */
 GPIO_Digital_Output(&GPIOD_ODR,
                     _GPIO_PINMASK_12|
                     _GPIO_PINMASK_13|
                     _GPIO_PINMASK_14|
                     _GPIO_PINMASK_15);
 
 
 
 GPIOD_ODR.B12 = 1;
 
 while(1){
          if(GPIOD_ODR.B12) YON=0; //B12 PİNİ 1 İSE 0 YAPILIYOR 
          if(GPIOD_ODR.B15) YON=1;
          Delay_ms(100);            //LEDLER ARASI GEÇİŞ SÜRESİ
          if(!YON) GPIOD_ODR<<=1; //BİT KAYDIRMA İŞLEMİ GERÇEKLEŞTİRİLİR
                   else GPIOD_ODR>>=1;
          }
}

C diline aşına olan biri anlamakta pek zorluk cekmicektir.
öncelikle define olarak bir değişken belirliyoruz char ve int olarak değişken belirliyoruz.
kara şimşeğin mantığı bit kadırma işlemi olduğu için yukarıda da bu işlemi uyguluyoruz. Aşağıdaki video ise build etme işlemi gerçekleştiriyoruz.