ZL31ARM: sterowanie kulki i obroty bryły w 3D za pomocą czujnika MEMS LIS35
Funkcje pomocne
Poniżej przedstawiono kody niektórych funkcji wykorzystywanych w programie:
//Funkcja pozwalajaca ustawic kontrast za pomoca przyciskow UP i DOWN
//Zatwierdzenie ustawienia za pomoca przycisku OK
void adjustContrast(){
signed char contrast=0;
//Ustawienie kontrastu (przyciski UP i DOWN), potwierdzenie (przycisk OK)
while(GPIO_ReadInputDataBit(JOY_PORT_OK, JOY_OK) == 1){
Delay(0xFFFF);
if(GPIO_ReadInputDataBit(JOY_PORT, JOY_UP) == 0)
SetContrast(contrast == 63 ? contrast : ++contrast);
else if(GPIO_ReadInputDataBit(JOY_PORT, JOY_DOWN) == 0)
SetContrast(contrast == -64 ? contrast : --contrast);
}
}
//Funkcja konwertujaca liczbe 7-bitowa (od -128 do 127) ze znakiem na ciag typu String
void sChar2Str(char *pStr, signed char value){
//Ilosc rozrzadow konwertowanej liczby (bez uwzgledniania znaku)
unsigned char charCount=3;
//Jezeli wartosc jest ujemna to zapisz znak '-'
if(value < 0)
*pStr = '-';
else
*pStr = ' ';
//Ustaw wskaznik na adres komorki zawierajacej najmlodszy rozrzad liczby
pStr = pStr + charCount;
//Konwertuj liczbe; jednosci, dziesiatki, setki
do{
*pStr-- = abs(value % 10) + '0';
value /= 10;
} while(--charCount);
}
//Funkcja ustawiajaca kolor kulki
//Wykorzystywana w przerywaniu
void setBallColor(unsigned int ballColor){
ball_color = ballColor;
}
W pliku main.h zapisane są następujące dane:
#include "lis35.h" #include "stm32f10x.h" void adjustContrast(); void Delay(__IO uint32_t nCount); void sChar2Str(char *, signed char); void indicator(void); void ball(void); void rotatingFigure(void); void setBallColor(unsigned int); signed char x, y, z, xKor=0, yKor=0, zKor=0; static char tempCHAR[4]; volatile static unsigned int ball_color = 0xFFF;

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ąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



