|
- /* Hello World Example
-
- This example code is in the Public Domain (or CC0 licensed, at your option.)
-
- Unless required by applicable law or agreed to in writing, this
- software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied.
- */
- #include <stdio.h>
- #include "freertos/FreeRTOS.h"
- #include "freertos/task.h"
- #include "esp_system.h"
- #include "esp_spi_flash.h"
- #include "driver/ledc.h"
-
- void app_main()
- {
- printf("Hello world!\n");
-
- ledc_timer_config_t timer_conf;
- timer_conf.duty_resolution = LEDC_TIMER_15_BIT;
- timer_conf.freq_hz = 50;
- timer_conf.speed_mode = LEDC_HIGH_SPEED_MODE;
- timer_conf.timer_num = LEDC_TIMER_0;
- ledc_timer_config(&timer_conf);
-
- ledc_channel_config_t ledc_conf;
- ledc_conf.channel = LEDC_CHANNEL_0;
- ledc_conf.duty = 3276; //800; //3276; //1638; // to 3276
- ledc_conf.gpio_num = 15;
- ledc_conf.intr_type = LEDC_INTR_DISABLE;
- ledc_conf.speed_mode = LEDC_HIGH_SPEED_MODE;
- ledc_conf.timer_sel = LEDC_TIMER_0;
- ledc_channel_config(&ledc_conf);
-
- /* Print chip information */
- esp_chip_info_t chip_info;
- esp_chip_info(&chip_info);
- printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ",
- chip_info.cores,
- (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
- (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
-
- printf("silicon revision %d, ", chip_info.revision);
-
- printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
- (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
-
- for (int i = 10; i >= 0; i--) {
- printf("Restarting in %d seconds...\n", i);
- vTaskDelay(1000 / portTICK_PERIOD_MS);
- if(ledc_conf.duty > 1000) {
- ledc_conf.duty = 800;
- } else {
- ledc_conf.duty = 3276;
- }
- ledc_channel_config(&ledc_conf);
- }
- printf("Restarting now.\n");
- fflush(stdout);
- esp_restart();
- }
|