#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "rom/gpio.h"
#define a 22
#define b 23
#define c 17
#define d 5
#define e 18
#define f 21
#define g 19
#define bt0 13
void config_hardware();
void config_saida();
void app_main() {
bool bt0_value;
config_hardware();
config_saida();
vTaskDelay(1000 / portTICK_PERIOD_MS);
while(true){
bt0_value = gpio_get_level(bt0);
if(bt0_value == 0){
//9
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,0);
gpio_set_level(f,1);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//8
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,1);
gpio_set_level(f,1);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//7
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,0);
gpio_set_level(e,0);
gpio_set_level(f,0);
gpio_set_level(g,0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//6
gpio_set_level(a,1);
gpio_set_level(b,0);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,1);
gpio_set_level(f,1);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//5
gpio_set_level(a,1);
gpio_set_level(b,0);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,0);
gpio_set_level(f,1);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//4
gpio_set_level(a,0);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,0);
gpio_set_level(e,0);
gpio_set_level(f,1);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//3
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,0);
gpio_set_level(f,0);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//2
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,0);
gpio_set_level(d,1);
gpio_set_level(e,1);
gpio_set_level(f,0);
gpio_set_level(g,1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//1
gpio_set_level(a,0);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,0);
gpio_set_level(e,0);
gpio_set_level(f,0);
gpio_set_level(g,0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//0
gpio_set_level(a,1);
gpio_set_level(b,1);
gpio_set_level(c,1);
gpio_set_level(d,1);
gpio_set_level(e,1);
gpio_set_level(f,1);
gpio_set_level(g,0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
//apagado
gpio_set_level(a,0);
gpio_set_level(b,0);
gpio_set_level(c,0);
gpio_set_level(d,0);
gpio_set_level(e,0);
gpio_set_level(f,0);
gpio_set_level(g,0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
}
void config_hardware() {
gpio_pad_select_gpio(a);
gpio_set_direction(a, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(b);
gpio_set_direction(b, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(c);
gpio_set_direction(c, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(d);
gpio_set_direction(d, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(e);
gpio_set_direction(e, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(f);
gpio_set_direction(f, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(g);
gpio_set_direction(g, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(bt0);
gpio_set_direction(bt0, GPIO_MODE_INPUT);
gpio_set_pull_mode(bt0, GPIO_PULLUP_ONLY);
}
void config_saida() {
gpio_set_level(a,0);
gpio_set_level(b,0);
gpio_set_level(c,0);
gpio_set_level(d,0);
gpio_set_level(e,0);
gpio_set_level(f,0);
gpio_set_level(g,0);
}
CHAVE
Pot1
BTN1
BTN0
LEDS
DISPLAY