This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
CYGNUM_HAL_RTC_PERIOD
- From: "vasantha.rajan" <vasantha dot rajan at cranessoftware dot com>
- To: gary at mlbassoc dot com, hud at zurich dot ibm dot com, cmcmanis at mcmanis dot com
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 22 Feb 2006 14:33:26 +0530
- Subject: [ECOS] CYGNUM_HAL_RTC_PERIOD
On Tuesday 21 February 2006 15:09, you wrote:
Hi Dirk ,
Thanks for your reply......
In my previous mail I asked one more question.....but did'nt get reply.
I will give a test code....
int count =1;
void alarm_handler( cyg_handle_t alarm_handle, cyg_addrword_t data )
{
printf("value of count:%d\n",count++);
cyg_flag_setbits(&flag,pattern);
}
void counter_thread(cyg_addrword_t data)
{
while(1)
{
value = 0xfffffffe;
pattern = 1;
mode=CYG_FLAG_WAITMODE_OR ;
cyg_flag_maskbits(&flag,value);
cyg_alarm_initialize( alarm_hdl, 100 + cyg_current_time(), 0 );
value=cyg_flag_wait(&flag,pattern,mode);
}
}
void cyg_user_start()
{
sys_clk = cyg_real_time_clock();
cyg_clock_to_counter( sys_clk, &counter_hdl );
cyg_alarm_create( counter_hdl, alarm_handler,
(cyg_addrword_t)&index1, &alarm_hdl, &alarm_obj );
cyg_thread_create(10, &counter_thread, 0 ,"counter_thread", stack,
STACKSIZE, &handle, &thread);
cyg_thread_resume(handle);
}
1. I made CYGNUM_HAL_RTC_DENOMINATOR to 100000, (so that my
clock will trigger for 10us) and in my code if i initialize my alarm to
cyg_alarm_initialize( alarm_hdl, 100000 + cyg_current_time(), 0 ), my alarm
triggered for every 1 sec.
If I reduce my value given to cyg_alarm_initialize() API to 10000 my alarm
triggered for every 0.1 sec ie, my code
count value increments to 10 for every second and still if reduce my value
to 1000 count value increments to 100 for every second,but if I still
reduce my value to 100 ,I expected the count value should increment to
1000,but the count value increments upto some 350 approx.
and if i still reduce my value to 10 or 1 my count only increments to 350
only...why I am not getting the linear increment?????????
Thanks
Vasanth
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss