STM32 i czujnik koloru TCS3200
Obsługa przerwania SysTick ogranicza się do cyklicznego przełączania aktualnie wybranego filtru oraz odczytaniu zliczonych impulsów z rejestru licznika. Poniżej przedstawiono fragment kodu, który wykonywany jest w czasie wybrania jednego filtru. Analogiczne działanie realizowane jest przy pozostałych filtrach. Program do przełączania stanu pracy realizowany jest przy wykorzystaniu funkcji case.
void SysTick_Handler(void)
{
extern uint16_t licznik;
extern uint16_t FreqRed;
extern uint16_t FreqGreen;
extern uint16_t FreqBlue;
extern uint16_t FreqClear;
switch(licznik)
{
case 7 :
//odczyt wartości licznika
FreqGreen = TIM_GetCounter(TIM2);
//przypisanie nowej wartości do zmiennej
licznik = 0;
break;
case 6 :
//zmiana wybranego filtru światła układu TCS3200D
TCS3200_DISABLE;
TCS3200_Green;
TCS3200_ENABLE;
//przypisanie nowej wartości do zmiennej
licznik = 7;
break;
...
}
//wyzerowanie licznika
TIM_SetCounter(TIM2,0);
}
Na początku obsługi przerwania mamy informację na temat wcześniej zadeklarowanych zmiennych, ich deklaracja została wykonana w pliku main.c. Na końcu obsługi przerwania mamy polecenie zerujące licznik TIM2.
Następnie w pętli głównej programu realizowana jest inicjalizacja wyświetlacza oraz wypełnieni go odpowiednią zawartością. Po tym działaniu program przechodzi do nieskończonej pętli, w czasie jej trwania przeprowadzana jest aktualizacja wartości na wyświetlaczu.
Mariusz Dziębowski

Nordic poszerza opcje rozwojowe serii nRF54L o płytkę nRF7002 EBII do łączności Wi-Fi 6
Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć 



