#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "rom/gpio.h"
#define decoder_A0 23 // Segmento A do display de 7 segmentos
#define decoder_A1 22 // Segmento B do display de 7 segmentos
#define decoder_A2 21 // Segmento C do display de 7 segmentos
#define decoder_A3 19 // Segmento D do display de 7 segmentos
uint8_t display[4] = { decoder_A0, decoder_A1, decoder_A2, decoder_A3 };
void app_main(void)
{
// configura o segmento como saída digital
for ( int index = 0 ; index <4 ; index++){
gpio_pad_select_gpio( display[index] );
gpio_set_direction ( display[index], GPIO_MODE_OUTPUT );
}
vTaskDelay(50 / portTICK_PERIOD_MS);
while (true){
for (uint8_t contador = 0; contador < 10; contador++){
for (int index = 0; index< 4; index++){
gpio_set_level( display[index] , (contador>>index) & 1);
}
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
}