[PROJEKT] KA-NUCLEO-F411CE i Waveshare Accessory Shield – obsługa diody RGB i sterownika P9813
Test działania kodu obsługi sterownika
W celu przetestowania działania napisanych funkcji należy w pętli głównej programu zapisać sekwencję wyświetlania animacji kolorystycznej. Sterownik wymaga ciągłego transmitowania danych o wyświetlanym kolorze. Po jednokrotnym wysłaniu danych o kolorze, kolor ten zostanie wyświetlony, a zaraz po nim dioda zgaśnie. Sterownik wymaga ciągłej transmisji na zasadzie odświeżania.
Do testów została przygotowana sekwencja wyświetlająca każdy kolor z osobna, biel i płynne przejście między kolorami.
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ int i=0; for(i=0;i<500;i++) { P9813_SetColor(255, 0, 0); HAL_Delay(5000); } for(i=0;i<500;i++) { P9813_SetColor(0, 255, 0); HAL_Delay(5000); } for(i=0;i<500;i++) { P9813_SetColor(0, 0, 255); HAL_Delay(5000); } for(i=0;i<500;i++) { P9813_SetColor(255, 255, 255); HAL_Delay(5000); } for(i=0;i<256;i++) { P9813_SetColor(255, i, 0); HAL_Delay(50); } for(i=255;i>0;i--) { P9813_SetColor(i, 255, 0); HAL_Delay(50); } for(i=0;i<256;i++) { P9813_SetColor(0, 255, i); HAL_Delay(50); } for(i=255;i>0;i--) { P9813_SetColor(0, i, 255); HAL_Delay(50); } for(i=0;i<256;i++) { P9813_SetColor(i, 0, 255); HAL_Delay(50); } for(i=255;i>0;i--) { P9813_SetColor(255, 0, i); HAL_Delay(50); } } /* USER CODE END 3 */
Wgrywanie kodu do mikrokontrolera z poziomu środowiska AC6
Ostatnim etapem pracy nad projektem jest wgranie skompilowanego kodu do mikrokontrolera. Przeprowadzamy budowę projektu (Ctrl+B), a następnie wgrywamy program do mikrokontrolera naciskając przycisk Run (Ctrl+F11). Jeżeli program wgrywamy pierwszy raz od zaimportowania projektu do środowiska AC6, należy zdefiniować ustawienia debugera. W tym celu w menu kontekstowym projektu (prawy przycisk myszy na projekcie w zakładce Project Explorer) wybieramy opcję Debug As -> 1 Ac6 STM32 C/C++ Application.
Następnie w nowym oknie wybieramy przycisk „Create a new custom board”
W kolejnym oknie zatwierdzamy zaproponowane ustawienia przyciskiem OK.
Oraz w poprzednim oknie zatwierdzamy ustawienia przyciskiem OK. Od teraz możemy z powodzeniem wgrywać programy bezpośrednio z poziomu środowiska programistycznego AC6 dla STM32.