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

Platforma JetSys-2010 SFF do wysokowydajnych obliczeń AI-at-the-EDGE w aplikacjach high-end
Hahn EI30 ErP – transformatory sieciowe o niskich stratach mocy
Grzegorz Kamiński: Co nowego na rynku podzespołów półprzewodnikowych GaN? 


![https://www.youtube.com/watch?v=kmvM5hVSzCM Piata już edycja konferencji Hardware Design Masterclasses dla elektroników zaskoczyła frekwencją, tym bardziej, że spotkanie było dwudniowe. Film jest krótką relacją z wydarzenia, bazującą na wypowiedziach prelegentów. [materiał redakcyjny] Zapraszamy do obejrzenia!](https://mikrokontroler.pl/wp-content/uploads/2026/01/Rafal-tytulowe.png)

