watchdog timer?


#1

I want to halt or wait microprocessor how can I do it?

Is this a true format?

timerHandle = adl_tmrSubscribe(FALSE,10, ADL_TMR_TYPE_100MS,(adl_tmrHandler_t)timerHandler);

while(1); //or does this cause a watchdog timer reset?

I want processor to wait until subscribed timer event happens.
Is there a special function to stop processor?

My code always resets at the same place, I don’t think it is because stack overflow because I set it big enough (4000) and there is no recursive functions in my code and I controlled the syntax and code makes sense.
I think the reset reason is watchdog timer or something internal. How can I monitor exact reset reason?

Note I don’t know how to use target monitoring tool well, but I debug where the the is using
adl_atSendResponse( ADL_AT_RSP, “\r\nDEBUG point number xxx\r\n” );


#2

Hi piedos,

You can’t. There is operating system code running that does do things in the background when your application code is not executed. All you can do is set the timer and return from the current function and when the timer expires your callback function is called. There you should continue whatever task you haven’t finished…

A similar thread already exists, containing information you might find useful:

http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?t=58

What I am missing here is a sleep() function that supends the application for a certain period of time and lets the operating system still do its thing. This function exists on other platforms with Linux or Windows and it would be helpful here. I think there is no such thing here, or am I wrong?

Best Regards,
Jan