"Enter"a basıp içeriğe geçin

Test Paylaşımı

Bu test yazısıdır

#include "esp_common.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "gpio.h"

// SDK'nin zorunlu tuttugu fonksiyon: flash hafizanin hangi sektorunun
// RF kalibrasyon verisi icin ayrilacagini belirler. Bu fonksiyon
// tanimlanmazsa linker (baglayici) asamasinda hata alirsin.
uint32 user_rf_cal_sector_set(void)
{
    flash_size_map size_map = system_get_flash_size_map();
    uint32 rf_cal_sec = 0;

    switch (size_map) {
        case FLASH_SIZE_4M_MAP_256_256:
            rf_cal_sec = 128 - 5;
            break;
        case FLASH_SIZE_8M_MAP_512_512:
            rf_cal_sec = 256 - 5;
            break;
        case FLASH_SIZE_16M_MAP_512_512:
        case FLASH_SIZE_16M_MAP_1024_1024:
            rf_cal_sec = 512 - 5;
            break;
        case FLASH_SIZE_32M_MAP_512_512:
        case FLASH_SIZE_32M_MAP_1024_1024:
            rf_cal_sec = 1024 - 5;
            break;
        default:
            rf_cal_sec = 0;
            break;
    }
    return rf_cal_sec;
}

// Tek bir task: GPIO16 (NodeMCU karti uzerinde D0 pinine karsilik gelir)
// her 1 saniyede bir yanip sonuyor
void blink_task(void *pvParameters)
{
    gpio16_output_conf();  // GPIO16'yi cikis (output) olarak ayarla

    while (1) {
        gpio16_output_set(1);
        vTaskDelay(1000 / portTICK_RATE_MS);
        gpio16_output_set(0);
        vTaskDelay(1000 / portTICK_RATE_MS);
    }
}

// Bu framework'te Arduino'daki setup() / app_main() yerine
// giris noktasi user_init() fonksiyonudur
void user_init(void)
{
    xTaskCreate(blink_task, "blink_task", 2048, NULL, 1, NULL);
}

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir