W programie poniżej dekrementuję zmienną globalną(volatile) "time" w przerwaniu.
Problem tkwi w tym, że dekrementacja działa prawidłowo tylko gdy zainicjuję zmienną globalną "time" początkową wartością, natomiast ja chcę podawać wartość zmiennej do dekrementacji w głównej pętli while(1) tak jak to jest w kodzie poniżej (który oczywiście nie działa). Atmega8 jest taktowana zewnętrznym kwarcem 12MHz, a przerwanie pochodzi od Timera1 w trybie CTC.
Problem tkwi w tym, że dekrementacja działa prawidłowo tylko gdy zainicjuję zmienną globalną "time" początkową wartością, natomiast ja chcę podawać wartość zmiennej do dekrementacji w głównej pętli while(1) tak jak to jest w kodzie poniżej (który oczywiście nie działa). Atmega8 jest taktowana zewnętrznym kwarcem 12MHz, a przerwanie pochodzi od Timera1 w trybie CTC.
Kod: C / C++