jestem coraz dzielenie przez zero błędu na tej linii:gcc: dzielenie przez zero
if (tim2_st_ovf < T2_PREK_250)
Wartości te określa, jak ta:
volatile uint8_t tim2_st_ovf = 0;
#define T2_PREK_250 ((250 * (F_CPU/1000))/((UINT8_MAX + 1) * 1024))
#define F_CPU 16000000UL
I UINT8_MAX
wynosi 255.
Dlaczego otrzymuję to? Przeliczyłem to kilka razy na kalkulatorze i otrzymuję ~ 15. Ponadto, jeśli zmienię 1024 na 1023, nie spowoduje to żadnego błędu.
Proszę napisać http://sscce.org/ (w tym funkcję 'main'). – pts