Bu yazımızda kodumuza gecikme ekleyeceğiz.
#include "stm32f4xx.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"
int main(void)
{
/* GPIO init */
// LED PIN AYARI
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // A portunun saat darbesini aktifleştidik.
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // 5 numaralı pin için ayarlıyoruz.
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // Pin çıkış tipini ayarladık.
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; // Pinimizi output olarak ayarladık.
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; // Pull Up direncini pasif yaptık.
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // Pinin maksimum çalışma frekansını ayarladık.
GPIO_Init(GPIOA, &GPIO_InitStructure); // Ayarları uyguluyoruz.
int i;
while(1)
{
GPIO_ToggleBits(GPIOA, GPIO_Pin_5); // Ledi tersliyoruz.
for (i = 0; i < 1000000; ++i); // Bekleme
}
}
For döngüsü ile basit bir bekleme oluşturduk. Kodu kite yüklediğinizde ledin yanıp söndüğünü görebilirsiniz.
Proje dosyasını linkten indirebilirsiniz. –>coide_dongu_gecikme_uygulamasi