Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Gömülü Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Gömülü Programlama > Led işlemleri

Led işlemleri

Bu bölümde, elimizdeki F401-RE kart üzerindeki LED'i 200 msn aralıklarla yakıp söndürmemizi sağlayan programı Mbed ve STM32CubeIDE yoluyla yazmaya çalışacağız.

Kart üzerindeki LED'i yakıp söndürme (Mbed ile)

Tanımlanmış bir zaman aralığında yanıp sönen LED için işlem yapar.

1. Önce buradaki talimatları uygulayarak, Mbed OS online geliştirme ortamında yeni bir program oluşturalım.

2. main.cpp dosyasının içindeki kodları aşağıdaki şekilde düzenleyerek kaydedelim::


#include "mbed.h" // Başlık dosyasını programa dahil etme işlemi

DigitalOut myLED(LED3);

int main() {
    // Programla birlikte otomatik olarak devreye giren sonsuz döngü
	while (1) { 
       myLED = 1; // LED yanar.
       wait(0.2); // 200 ms. bekleme
       myLED = 0; // LED söner.
       wait(0.2); // 200 ms. bekleme
    }
}

3. Programı derleyelim ve elde ettiğimiz .bin uzantılı dosyayı bilgisayarımıza kaydedelim.

4. Bilgisayarımıza kaydettiğimiz .bin uzantılı dosyayı, kart bilgisayara bağlandığında Windows Explorer’da görünen flash bellek içine kopyalayalım.

5. Windows Explorer'da kartı temsil eden sürücüye kopyaladığımız .bin uzantılı dosya kart tarafından otomatik olarak okunarak çalıştırılır. Kart kendini resetler ve .bin uzantılı dosya silinir.

6. Program çalışmaya başladığında, kart üzerindeki LED 200 msn aralıklarla yanıp sönmeye başlar.

Kart üzerindeki LED'i yakıp söndürme (STM32CubeIDE ile)

1. Önce buradaki talimatları uygulayarak, STM32CubeIDE ortamında yeni bir proje oluşturalım.

2. main.c dosyasının içindeki kodları aşağıdaki şekilde düzenleyerek kaydedelim::


int main(void)
{
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART2_UART_Init();

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); // LED (A portu: GPIOA-5 port'ta 5 no.lu pin'e bağlı)
    HAL_Delay(200); // 200 msn bekleme
  }
}

3. Programı derleyelim.

4. Doğrudan Run butonuna basarak veya elde ettiğimiz .bin uzantılı dosyayı, kart bilgisayara bağlandığında Windows Explorer’da görünen flash bellek içine kopyalayalım.

5. Program kart tarafından otomatik olarak okunarak çalıştırılır. Kart kendini resetler.

6. Program çalışmaya başladığında, kart üzerindeki LED 200 msn aralıklarla yanıp sönmeye başlar.