Other Parts Discussed in Thread: CC2640,
Hi, I am little confused about ADCbuf.
What is ADCBuf peropheral and how it works?
If I want to convert ADC1, should I change the code like this?
ADCBuf_Handle adcBuf;
ADCBuf_Params adcBufParams;
ADCBuf_Conversion continuousConversion,continuousConversion2;
/* Call driver init functions */
ADCBuf_init();
/* Set up an ADCBuf peripheral in ADCBuf_RECURRENCE_MODE_CONTINUOUS */
ADCBuf_Params_init(&adcBufParams);
adcBufParams.callbackFxn = adcBufCallback;
adcBufParams.recurrenceMode = ADCBuf_RECURRENCE_MODE_CONTINUOUS;
adcBufParams.returnMode = ADCBuf_RETURN_MODE_CALLBACK;
adcBufParams.samplingFrequency = 200;
adcBuf = ADCBuf_open(Board_ADCBUF0, &adcBufParams);
/* Configure the conversion struct */
continuousConversion.arg = NULL;
continuousConversion.adcChannel = Board_ADCBUF0CHANNEL0;
continuousConversion.sampleBuffer = sampleBufferOne;
continuousConversion.sampleBufferTwo = sampleBufferTwo;
continuousConversion.samplesRequestedCount = ADCBUFFERSIZE;
if (adcBuf == NULL){
/* ADCBuf failed to open. */
while(1);
}
/* Start converting. */
if (ADCBuf_convert(adcBuf, &continuousConversion, 1) !=
ADCBuf_STATUS_SUCCESS) {
/* Did not start conversion process correctly. */
while(1);
}
/* Configure the conversion struct */
continuousConversion2.arg = NULL;
continuousConversion2.adcChannel = Board_ADCBUF0CHANNEL1;
continuousConversion2.sampleBuffer = sampleBufferOne;
continuousConversion2.sampleBufferTwo = sampleBufferTwo;
continuousConversion2.samplesRequestedCount = ADCBUFFERSIZE;
/* Start converting. */
if (ADCBuf_convert(adcBuf, &continuousConversion2, 1) !=
ADCBuf_STATUS_SUCCESS) {
/* Did not start conversion process correctly. */
while(1);
}
I was little confused because Board_ADCBUF0 is declared like below. the comment says Enum of ADCs. So this means that CC2640R2_LAUNCHXL_ADCBUF0 is named as ADC0?
So if I want to convert ADC1, do I have to add CC2640R2_LAUNCHXL_ADCBUF1 here?
/*!
* @def CC2640R2_LAUNCHXL_ADCBufName
* @brief Enum of ADCs
*/
typedef enum CC2640R2_LAUNCHXL_ADCBufName {
CC2640R2_LAUNCHXL_ADCBUF0 = 0,
CC2640R2_LAUNCHXL_ADCBUFCOUNT
} CC2640R2_LAUNCHXL_ADCBufName;