febb: (Default)
febb ([personal profile] febb) wrote2018-11-05 10:30 am

(no subject)

Вчера полчаса полировал програмку из предыдущего поста.
Оптимальный подход в обработке системного таймера для получения точности в секундах
это использовать инкремент и переполнение счетчика, примерно так:
byte Seconds;
void UpdateTimers()
{
	static const short long int inc = xxxxxxx;
	static short long int cnt = 0;
	static byte timer;
	byte t = TMR0; // Read system timer
	if(t < timer) // timer rollover
	{
		cnt += inc;
		if(cnt < inc) // roll over every second
		{
			++Seconds;	// Increment seconds
			//........... more code ......
		}     

	}
	timer = t;
}