X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=Src%2Fmain.c;h=bb225b2362046e2cdaf17476e555569404db85cf;hb=25fbe7b4b71566ec1b9ab9f10b827eb7e527f711;hp=57349e4521dd5e5ef16e148492eb2daa2b8bc153;hpb=ea54b8a9fb1b8dce528a1465a9cc73ad0ffa0b90;p=home-hw.git diff --git a/Src/main.c b/Src/main.c index 57349e4..bb225b2 100644 --- a/Src/main.c +++ b/Src/main.c @@ -45,6 +45,8 @@ #include "usb.h" #include "app.h" +#include + /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ @@ -71,6 +73,8 @@ static void MX_TIM4_Init(void); /* USER CODE END PFP */ /* USER CODE BEGIN 0 */ +byte rx_display[8]; +volatile byte rx_display_ready; /* USER CODE END 0 */ @@ -128,17 +132,40 @@ int main(void) LL_TIM_EnableIT_UPDATE(TIM4); LL_TIM_GenerateEvent_UPDATE(TIM4); + { + byte buf[5] = { 0xff, 0xff, 10, 0xff, 0xff }; + display_buffer(buf); + } + /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ - int cnt = 0; while (1) { - debug_printf("Counter = %d\n", cnt); - display_counter(cnt); - LL_mDelay(1000); - cnt++; + __disable_irq(); + if (rx_display_ready) + { + byte rx[8]; + rx_display_ready = 0; + memcpy(rx, rx_display, 8); + __enable_irq(); + display_buffer(rx); + } + else + __enable_irq(); + + // debug_printf("Counter = %d\n", cnt); + // display_counter(cnt); + + static byte led_state; + if (led_state) + LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin); + else + LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin); + led_state ^= 1; + + __WFI(); /* USER CODE END WHILE */