Hi, nice effort! I've seen the code - and let me kindly ask you following:
- why we need to deal with float in:
//set the initial value of the counter depending on the prescaler
_starter = 256 - (int)((float)F_CPU * 0.001 / prescaler);
would not be better to do it as
#define _starter 256-F_CPU/1000/prescaler
or something like that? - the clock limitation (1,4,8,16MHz) - that is related to point 1. only, so when I'll find a good _starter (in order to get 1ms timer interrupt) I can use ie 22.11MHz as well, I guess
- would it be possible to use it outside the arduino environment as well?
P.