um simples flipflop
This commit is contained in:
28
esp32.h
Normal file
28
esp32.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef ESP32_FLIPFLOP_H
|
||||
#define ESP32_FLIPFLOP_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
// 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
|
Reference in New Issue
Block a user