Hi,
right now I'm struggling with the ADC-IRQs of the cc2540. This is what I'm trying to do:
I want to collect several samples from the ADC with maximum speed possible. Therefore I setup the ADC, enable the ADC-IRQ (ADCIE=1) and then start a single conversion (ADCCON3=0x97).
I have a IRQ-handler which reads the conversion results, stores them and after that restarts the ADC (ADCCON3=0x97 again). This works like a charm, but now I need to stop the ADC after a time. Therefore I set an osal_start_timerEx() with 3 seconds and when the timer fires I try to stop the ADC by setting ADCIE=0.
This does not work. If I singlestep through my ADC_Stop() it always re-hits the line with ADCIE=0. If I use debug-logging in ProcessEvent() I see that the stop-event is refired in a very short interval.
anybody can shed some light on this?
Andre