Log in

View Full Version : timers in user_routines_fast


stephenthe1
17-02-2006, 11:50
hi, I'm trying to create a generic timer in user_routines_fast. I don't need any exact amount of time to be calculated, just about 2/3 of a second. the code I'm using basically acts like this:

static int counter = 0;

if (counter >= 20)
{
//now I'm at where I want to get after 20 program loops
counter = 0;
}
else
{
counter++;
}



but I'm not having any luck in the fast file. what am I doing wrong? I have no problems in user_routines, but in fast everything doesn't work timer-wise. any ideas or help? thanks.
Stephen

Mike Betts
17-02-2006, 12:02
Stephan,

In user routines, you are counting loops timed by the master uP communicating with the OI. Each loop takes about 26 milliseconds so your counter should take about a half second to "trip".

In user routines fast, there is no such delay and the loop is timing as fast as it can, With a 40 MHz clock (and ignoring other code which you may have in the fast loop) your timer will "trip" in about 1 microsecond (maybe less).

Regards,

Mike

steven114
17-02-2006, 12:35
It's highly recommended to use one of the hardware timers instead of counting loops. There's been extensive discussion on these guys and they aren't very difficult to use - you'll love them! :)