From 4816dae943e197e24c422908cdb27220ba4d11b4 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Thu, 19 Jun 2025 01:15:48 +0200 Subject: [PATCH] align to 1 fps --- ch32_decoder/bad_apple.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ch32_decoder/bad_apple.c b/ch32_decoder/bad_apple.c index ba8d861..1de0a7c 100644 --- a/ch32_decoder/bad_apple.c +++ b/ch32_decoder/bad_apple.c @@ -12,6 +12,9 @@ #define HEIGHT 32 #define X_OFFSET ((128 - WIDTH) / 2) +#define FPS 1 +#define SYSTICKS_PER_FRAME ((DELAY_US_TIME * 1000000) / FPS) + void decode_next_frame(); void refresh_screen(); void clear_screen(); @@ -33,10 +36,12 @@ int main() { ssd1306_cmd(*cmd_list++); clear_screen(); + u32 next_frame = SysTick->CNT; while (1) { decode_next_frame(); + while (SysTick->CNT < next_frame) {} + next_frame += SYSTICKS_PER_FRAME; refresh_screen(); - Delay_Ms(300); if (reader >= sizeof(video)) reader = 0; }