[En-Nut-Discussion] Timing on AVR32
Daniel Fiedler (Ethernut)
ethernut at fitus.de
Tue May 15 16:36:58 CEST 2012
Hi Thiago and everyone else,
I have written an Time-Clock for AVR32. I used an NutTimer with 1000ms
timing. But clock counting is twice to slow. I also created a BlinkingLed
Thread. With a NutWait command with 150ms wait time but LED blinks slowly.
I resume the clock frequency of cpu is set not correctly. Or the system
timer of nut/os is to slow.
Does anyone have an idea.
Some snippets of my clock code:
Init:
NutThreadCreate( (char *)"TimeThread", TimeThread, &clockEvent, 512 );
clockTimer = NutTimerStart(1000, TimerCallback, &clockEvent, 0);
THREAD( TimeThread, arg)
{
tm *ntp_datetime;
NutThreadSetPriority(16);
for (;;) {
if (NutEventWait(arg, 0)) {
// Timeout
puts ( "TimeThread Event timeout\n" );
}
else {
// Event triggered
ntp_time++;
ntp_datetime = localtime(&ntp_time);
printf("time is: %02d:%02d:%02d\n",
ntp_datetime->tm_hour, ntp_datetime->tm_min, ntp_datetime->tm_sec);
printf("date is: %02d.%02d.%04d\n",
ntp_datetime->tm_mday, ntp_datetime->tm_mon+1, ntp_datetime->tm_year+1900);
}
}
}
void TimerCallback(HANDLE timer, void *arg)
{
NutEventPostAsync(arg);
}
More information about the En-Nut-Discussion
mailing list