rabbit 4000 input capture problem

when i test input capture demo code on my BLS4S100 board, i want to get the frequence of the external signal,but the demo code only show me the time of the high level(between a rise edge and a fall edge).

I change the start condition as rise edge and stop condition as rise edge too,i want to get the time interval of the two rise edge,but when my code run on the board ,i get the same count of the start (count_start = 497)and stop conditon(count_stop = 497).

How can i get the time interval between the two rise edge or fall edge?
the code below is my input capture init code .

setCapture(CAPTURE_CH[channel], BL_CNT_RUN, BL_EVENT_RISE,
BL_SAME_CHANNEL | BL_EVENT_FALL | USE_PRESCALE);
setLimit(CAPTURE_CH[channel], (word)((CAPTURE_CLOCK_FREQ / freq) + 0.5) - 1);

Because the duty of the signal i will capture is 50%,so i just need calculate the high level last count and double the count,i will get the count in one period.