#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#define data_pin 2
#define clock_pin 3
#define latch_pin 4
unsigned char data = 0;
void app_main(void){
gpio_set_direction(data_pin, GPIO_MODE_OUTPUT);
gpio_set_direction(clock_pin, GPIO_MODE_OUTPUT);
gpio_set_direction(latch_pin, GPIO_MODE_OUTPUT);
for(;;){
data = 0b00111001; //dado a ser enviado
for (int i = 7; i >= 0; i--) {
gpio_set_level(data_pin, (data >> i) & 1);
gpio_set_level(clock_pin, 1);
gpio_set_level(clock_pin, 0);
}
gpio_set_level(latch_pin, 1);
gpio_set_level(latch_pin, 0);
vTaskDelay(pdMS_TO_TICKS(1000));
}
}