I'm using QN9080 to develop an application. My application requires the usage of ADC to output at 400Hz. Where can I set this data rate?
Is this same as ADC down sample rate in ADC_SDDefaultConfig(), or kADC_DownSample256?
解決済! 解決策の投稿を見る。
Hi Sandeep Mittal,
If you want to use the ADC with a sample frequency, you need to set up a timer with this frequency. In the SDK example the trigger is using the function: ADC_DoSoftwareTrigger. For you're aplication you will need to change it for a timer trigger.
You can use the adc interrupt driver example in the SDK and change the source of the trigger, in this case I'm using the CTIMER3_OUT2:
You'll need to set up this timer, so I suggest to you to check the ctimer simple match driver example. For the 400Hz frequency, you'll need to change the match value, the following configuration should do it:
Hope it helps,
Alexis Andalon
Hi Sandeep Mittal,
If you want to use the ADC with a sample frequency, you need to set up a timer with this frequency. In the SDK example the trigger is using the function: ADC_DoSoftwareTrigger. For you're aplication you will need to change it for a timer trigger.
You can use the adc interrupt driver example in the SDK and change the source of the trigger, in this case I'm using the CTIMER3_OUT2:
You'll need to set up this timer, so I suggest to you to check the ctimer simple match driver example. For the 400Hz frequency, you'll need to change the match value, the following configuration should do it:
Hope it helps,
Alexis Andalon
Hi nxf46116,
Shouldn't the matchConfig.enableInterrupt be true since the ADC is triggered by ctimer?
Is BUS_CLK_FREQ 32KHz or 32MHz?
Thanks,
Sandeep
Hi Sandeep Mittal,
In this case I didn't enable the interrupt for the CTimer, only the ADC one. The ADC trigger is configured in the structure and this is enough to link the ADC with the CTimer. In case you want to call the CTimer Callback you should change that register.
BUS_CLK_FREQ is the APB bus clock = 16MHz
Best Regards,
Alexis Andalon
nxf46116,
So the matchConfig.matchvalue in the data structure for ctimer will need to be BUS_CLK_FREQ/40000 to get a frequency of 400Hz, correct?
Thanks,
Sandeep
Hi Sandeep Mittal,
Have in count that the matchValue is the value where the counter is gonna trigger the interruption. Doesn't really matter what is your Bus Clock, if you divide it by the desired frequency that should work.
Best Regards,
Alexis Andalon
Ok, got it. Thanks a lot for your help Alexis.
- Sandeep