Chcę Was prossić o porade bo jesteście bardziej dośwadczeni w tym niz ja.
Otóż robie bardzo prosty licznik przebytej drogi, czyli układ zlicza impulsy i przelicza na metry.
I teraz zastanawiam się nad taką sprawą.
W przerwaniu od przepełnienia Timera umieszczam procedurę multipleksowego wyświetlania na wyświetlaczu LED wyniku na 4 wyś.
Mam globalna tablice g_DaneWyswietlacza w której są już przerobione dane do wyświelenia.
Ma też osobną procedurę
Kod: Zaznacz cały
Void Translate(uint8_t var)
for(n=4; n>0; n--)
{
g_DaneWyswietlacza[n-1] = pgm_read_byte(&g_WzorCyfr[var%10]);
var /= 10;
}I teraz pytanie.
Dlaczego w funkcji Translate niektórzy blokują przerwanie od Timera na czas konwersji. Niby ma to zapobiegać migotaniu cyfr.
Czy spotkał się ktos z Was z tym. To blokowanie to widziałem w programie pisanym na uC8051, na AVR nie spotkałem.
Możecie mi coś opisać o tym, jakie są wasze doświadczenia z tym.
P.S. ten przykład to z cz. 4 kursu z EdW