#include <stdio.h>
#include "pico/stdlib.h"
#define digto_1_segmento_a 4 // Segmento A do display de 7 segmentos
#define digto_1_segmento_b 5 // Segmento B do display de 7 segmentos
#define digto_1_segmento_c 6 // Segmento C do display de 7 segmentos
#define digto_1_segmento_d 7 // Segmento D do display de 7 segmentos
#define digto_1_segmento_e 8 // Segmento E do display de 7 segmentos
#define digto_1_segmento_f 3 // Segmento F do display de 7 segmentos
#define digto_1_segmento_g 2 // Segmento G do display de 7 segmentos
#define digto_2_segmento_a 11 // Segmento A do display de 7 segmentos
#define digto_2_segmento_b 12 // Segmento B do display de 7 segmentos
#define digto_2_segmento_c 13 // Segmento C do display de 7 segmentos
#define digto_2_segmento_d 14 // Segmento D do display de 7 segmentos
#define digto_2_segmento_e 15 // Segmento E do display de 7 segmentos
#define digto_2_segmento_f 10 // Segmento F do display de 7 segmentos
#define digto_2_segmento_g 9 // Segmento G do display de 7 segmentos
#define digto_3_segmento_a 20 // Segmento A do display de 7 segmentos
#define digto_3_segmento_b 19 // Segmento B do display de 7 segmentos
#define digto_3_segmento_c 18 // Segmento C do display de 7 segmentos
#define digto_3_segmento_d 17 // Segmento D do display de 7 segmentos
#define digto_3_segmento_e 16 // Segmento E do display de 7 segmentos
#define digto_3_segmento_f 21 // Segmento F do display de 7 segmentos
#define digto_3_segmento_g 22 // Segmento G do display de 7 segmentos
uint8_t display_1[7] = { digto_1_segmento_a, digto_1_segmento_b, digto_1_segmento_c, digto_1_segmento_d, digto_1_segmento_e, digto_1_segmento_f, digto_1_segmento_g };
uint8_t display_2[7] = { digto_2_segmento_a, digto_2_segmento_b, digto_2_segmento_c, digto_2_segmento_d, digto_2_segmento_e, digto_2_segmento_f, digto_2_segmento_g };
uint8_t display_3[7] = { digto_3_segmento_a, digto_3_segmento_b, digto_3_segmento_c, digto_3_segmento_d, digto_3_segmento_e, digto_3_segmento_f, digto_3_segmento_g };
bool display_valor1[7] = { 1, 1, 1, 1, 1, 1, 0 };
bool display_valor2[7] = { 0, 1, 1, 0, 0, 0, 0 };
bool display_valor3[7] = { 1, 1, 0, 1, 1, 0, 1 };
int main () {
// Configuracao
stdio_init_all();
// configura o segmento como saída digital
for ( int index = 0 ; index <7 ; index++){
gpio_init( display_1[index] );
gpio_set_dir( display_1[index] , GPIO_OUT);
gpio_init( display_2[index] );
gpio_set_dir( display_2[index] , GPIO_OUT);
gpio_init( display_3[index] );
gpio_set_dir( display_3[index] , GPIO_OUT);
}
for ( int index = 0 ; index <7 ; index++){
gpio_put( display_1[index] , display_valor1[index]);
gpio_put( display_2[index] , display_valor2[index]);
gpio_put( display_3[index] , display_valor3[index]);
}
while (true){
sleep_ms (10);
}
}