LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
IoT

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

Polski portal branżowy dedykowany zagadnieniom elektroniki. Przeznaczony jest dla inżynierów i konstruktorów, projektantów hardware i programistów oraz dla studentów uczelni technicznych i miłośników elektroniki. Zaglądają tu właściciele startupów, dyrektorzy działów R&D, zarządzający średniego szczebla i prezesi dużych przedsiębiorstw. Oprócz artykułów technicznych, czytelnik znajdzie tu porady i pełne kursy przedmiotowe, informacje o trendach w elektronice, a także oferty pracy. Przeczyta wywiady, przejrzy aktualności z branży w kraju i na świecie oraz zadeklaruje swój udział w wydarzeniach, szkoleniach i konferencjach. Mikrokontroler.pl pełni również rolę patrona medialnego imprez targowych, konkursów, hackathonów i seminariów. Zapraszamy do współpracy!