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 :)


