Przedstawię być może banalną sprawę, ale na pewno przydatną - a ten opis się tutaj jeszcze nie pojawił.
Służy to do zapętlenia kodu. Powiedzmy, że chcemy sprawdzić, czy w danym momencie jest odtwarzana muzyka.
Jeśli dodamy funkcję do samego main, to kod zostanie wykonany tylko jednokrotnie - w momencie uruchomienia elfa.
Tak więc zaczniemy od dodania kodu do int main ();
timer=Timer_Set(500,onTimer,0);
W tym przypadku ta 500 oznacza odstęp w milisekundach między wykonywaniem kodu zawartym w funkcji timera.
Dodajemy więc ją chociażby przed int main.
void onTimer (u16 unk , void * data) { { // Kod do wykonania, dla przykładu sprawdzanie, czy odtwarzacz jest włączony BOOK * Audio = FindBook(isAudioPlayerBook()); if (Audio) { DISPLAY_SetBrightness(0, 50); // Gdy muzyka zostanie włączona ustawia poziom podświetlenia na 50% } Timer_ReSet(&timer,500,onTimer,0); //Ta funkcja zawsze ma się pojawiać! } }
W przypadku Timer_ReSet(&timer,500,onTimer,0); liczba (tutaj 500) powinna być taka sama jak w int main.
No i jeszcze na początku pod includami dopisujemy:
u16 timer;
A do OnCloseBook dorzucamy:
Timer_Kill(&timer);
I mamy w bardzo prosty sposób zapętlony kod.
Pozdrawiam.
Edited by not found, 13 April 2012 - 19:12.
Poprawiłem literówki i emotikonkę, bo nie wyświetlało :)