From d3904396764d36d124f1a367eadb91ac9d9073dc Mon Sep 17 00:00:00 2001 From: tiprefsil Date: Tue, 22 Jul 2025 09:42:27 -0300 Subject: [PATCH] um simples flipflop --- esp32.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 esp32.h diff --git a/esp32.h b/esp32.h new file mode 100644 index 0000000..a4a6d66 --- /dev/null +++ b/esp32.h @@ -0,0 +1,28 @@ +#ifndef ESP32_FLIPFLOP_H +#define ESP32_FLIPFLOP_H + +#include + +// Estrutura do Flip-Flop D +typedef struct { + bool Q; // Saída Q + bool Qn; // Saída Q negada +} FlipFlopD; + +// Inicializa o flip-flop +void flipflopd_init(FlipFlopD *ff) { + ff->Q = false; + ff->Qn = true; +} + +// Atualiza o flip-flop na borda de subida do clock +void flipflopd_update(FlipFlopD *ff, bool D, bool clk, bool *last_clk) { + // Detecta borda de subida + if (!(*last_clk) && clk) { + ff->Q = D; + ff->Qn = !D; + } + *last_clk = clk; +} + +#endif // ESP32_FLIPFLOP_H