CC2640R2F ADC設置(基於SDK 1.40版本 替代ADC_open)

牢騷

TI能不能把文檔跟例程什麼的寫的清楚點?最起碼給的例程能夠跑的通吧?就這麼一個簡簡單單的ADC折騰我3個多小時,我也是很服氣的(好吧,是我太浮躁了,沒沉下心認真的研讀TI寫的雖然“規範”但又臭又長的代碼。層層封裝考慮多線程,這很好,每個開發者都想跟linux那樣直接用戶層一個open,一個read就可以完成任務那種,但關鍵是封裝完不能用,開發人員還看不到底層代碼,這就很讓人呵呵)

正文

廢話不說了,簡單粗暴的不管多線,代碼如下:

#include <driverlib/aux_adc.h>
#include <driverlib/aux_wuc.h>
……
uint32_t ADC_Read(void)
{
    AUXWUCClockEnable(AUX_WUC_MODCLKEN0_ANAIF_M|AUX_WUC_MODCLKEN0_AUX_ADI4_M);
    AUXADCSelectInput(ADC_COMPB_IN_AUXIO0);
    AUXADCEnableSync(AUXADC_REF_FIXED,AUXADC_SAMPLE_TIME_2P7_US, AUXADC_TRIGGER_MANUAL);
    AUXADCGenManualTrigger();
    uint32_t ADCVal = AUXADCReadFifo();
    AUXADCDisable();
    return ADCVal;
};

代碼參考了多人的帖子、國內TI官方論壇、國外TI官方論壇,實在是太多了,一時說不過來了,原作者如果看到了請聯繫我我會把原帖子鏈接放上去

我記得CSDN上有一篇帖子跟我這個很類似,就是AUXWUCClockEnable這個函數這裏用的是TI已經廢除(??那都找不到)AUX_WUC_MODCLKEN0_SOC_M這個宏定義,導致一直無法編譯通過。

對了,CC2640的ADC對應關係請參考:

https://e2echina.ti.com/question_answer/wireless_connectivity/bluetooth/f/103/t/147467

TI官方論壇這個帖子的最後一樓,即 ADCBufCC26XX.h 裏的內容。裏面有通道對應引腳關係。

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章