Öncelikle ilk program olarak led yakma işlemi yapılacaktır.burada genel bir bilgi verildikten sonra kodların detaylı açıklanması verilecektir.
İlk olarak kullandığımız işlemcinin kütüphanesi programa eklenmesi gerekmektedir. Bunu kod ile aşağıda gösterildiği gibi yapılır:
#include "stm32f4xx.h" //stm32f4 kütüphanesi
Daha sonra portların kütüphesi kod olarak eklenir:
#include "stm32f4xx_gpio.h" //GPIO kütüphanesi
Portların clock kütüphanesi:
#include "stm32f4xx_rcc.h" // RCC clock kütüphanesi
Bu işlemler yapıldıktan sonra ana fonksiyona geçilir. her programda olduğu gibi bu derleyicide de aşağıdaki gibi ana fonksiyon eklenir:
int main(void) //Ana fonksiyon
{
GPIO_InitTypeDef GPIO_InitStructure; // Port yönlendirmesi yapilir
/* GPIOD Periph clock hatti aktif edilir */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
/* PD12, 13, 14 ve PD15 pinleri kullan1lacak */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
[ /* Eger sadece tek bir pin ornegin PD12 kullanilacak ise,
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; yazmaniz yeterli olacaktir*/ ]
//Pinler cikis olarak belirlenir
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
//Pinler PushPull olarak ayarlandi
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//GPIO Bus hizi 100 MHz ayarlandi
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
//Yukarida tanimlanan bilgileri GPIOD adresine ait oldugu belirtilir
GPIO_Init(GPIOD, &GPIO_InitStructure);
while (1) //Sonsuz donguye girilir
{
//PD portunun 12.pini Set yapilir. yani logic 1
GPIO_SetBits(GPIOD,GPIO_Pin_12);
//PD portunun 13.pini Set yapilir. yani logic 1
GPIO_SetBits(GPIOD,GPIO_Pin_13);
//PD portunun 14.pini Set yapilir. yani logic 1
GPIO_SetBits(GPIOD,GPIO_Pin_14);
//PD portunun 15.pini Set yapilir. yani logic 1
GPIO_SetBits(GPIOD,GPIO_Pin_15);
/* yada asagidaki gibi tek satirla hepsi Set edilebilir
[ GPIO_SetBits(GPIOD,GPIO_Pin_12 | GPIOD,GPIO_Pin_13 | GPIOD,GPIO_Pin_14 | GPIOD,GPIO_Pin_15 |); */ ]
}
}
programı artık STM32F4 discovery board'a yükleyebilir. öncelikle derleme işlemi yapılır. sonra aşağıdaki resimde gösterildiği gibi yüklenir:
Derleme işlemi aşağıdaki gibidir

KODU Yüklem işlemi de aşağıdaki gibidir.

Bu işlemler yapıldıktan sonra discovery board'da 4 ledin de yandığını göreceksiniz.
İyi Çalışmalar.
Merhaba hocam
YanıtlaSilToggle komutu ile 5 saniye yanip, 2 saniye sönen programi nasil yapabiliriz. İlk durumda led sönük baslama kuralı ile ilk durum led yanık ile yapabildim yardimci olabilir misiniz.
Tesekkur ederim