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);
}