mirror of
https://github.com/espressif/esp-idf
synced 2025-04-13 10:10:09 -04:00
Implements support for system level traces compatible with SEGGER SystemView tool on top of ESP32 application tracing module. That kind of traces can help to analyse program's behaviour. SystemView can show timeline of tasks/ISRs execution, context switches, statistics related to the CPUs' load distribution etc. Also this commit adds useful feature to ESP32 application tracing module: - Trace data buffering is implemented to handle temporary peaks of events load
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/* Blink 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 "driver/gpio.h"
|
|
#include "sdkconfig.h"
|
|
|
|
/* Can run 'make menuconfig' to choose the GPIO to blink,
|
|
or you can edit the following line and set a number here.
|
|
*/
|
|
#define BLINK_GPIO CONFIG_BLINK_GPIO
|
|
|
|
void blink_task(void *pvParameter)
|
|
{
|
|
/* Configure the IOMUX register for pad BLINK_GPIO (some pads are
|
|
muxed to GPIO on reset already, but some default to other
|
|
functions and need to be switched to GPIO. Consult the
|
|
Technical Reference for a list of pads and their default
|
|
functions.)
|
|
*/
|
|
gpio_pad_select_gpio(BLINK_GPIO);
|
|
/* Set the GPIO as a push/pull output */
|
|
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
|
|
while(1) {
|
|
/* Blink off (output low) */
|
|
gpio_set_level(BLINK_GPIO, 0);
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
/* Blink on (output high) */
|
|
gpio_set_level(BLINK_GPIO, 1);
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
}
|
|
}
|
|
|
|
void app_main()
|
|
{
|
|
xTaskCreate(&blink_task, "blink_task", 2048, NULL, 5, NULL);
|
|
}
|