Measuring a pulse duration in a pulse train was my last week headache with the TD1208 and the not so well documented EFM32. Basically, my objective was to activate a timer on a pulse train to measure the duration of the pulse. This duration was measured about 100uS and occurred at 1 Hz.
My choice was to rise an interrupt on each signal front (raising and falling) and measure the duration between the two first interrupt call. Some reset function ensure we are measuring the low state duration (100uS) not the high state duration (1s). This part will not be described here. The purpose of this post is to describe the main hole I fallen in.