昨天寫了一個(gè)ADC的文章,感覺浮于表面,今天會(huì)完整的剖析這個(gè)外設(shè),畢竟樂鑫給的太多了。
ESP32-S3 ADC外設(shè)這個(gè)是昨天寫的。
比較傻逼的一點(diǎn)是ADC這么屌的一個(gè)外設(shè)給我歸類在這里
我其實(shí)有點(diǎn)沒看懂,應(yīng)該是有兩個(gè)ADC,但是這么多的引腳是支持而已
這個(gè)是倆種測(cè)量方式,就是精度的區(qū)別
具體的測(cè)量方式在這里
這個(gè)是驅(qū)動(dòng)的流程框圖
GPIO的引腳
測(cè)量公式
支持DMA的傳輸方式
還支持?jǐn)?shù)據(jù)的濾波
直接中斷
我這里就隨便寫個(gè)寄存器
這是所有的寄存器
OKOK,具體的手冊(cè)就是這樣了,因?yàn)榫褪莻€(gè)轉(zhuǎn)換器而已,手冊(cè)里面沒有過多的說明一些技術(shù)的細(xì)節(jié),接下來(lái)的任務(wù)是看,IDF SDK的ADC API。
就是這里了,我們直接看
這個(gè)就是ADC的創(chuàng)建實(shí)例
里面包括的內(nèi)容
細(xì)分到一個(gè)
這是ADC的初始化配置結(jié)構(gòu),第一個(gè)參數(shù)是要啟用的ADC單元,在下面有
第二個(gè)參數(shù)是時(shí)鐘源
超低功耗協(xié)處理器 (ULP, Ultra-Low-Power coprocessor) 是一種功耗極低的處理器設(shè)備,可在芯片進(jìn)入 Deep-sleep 時(shí)保持上電(詳見章節(jié) 10 低功耗管理 (RTC_CNTL)),允許開發(fā)者通過存儲(chǔ)在 RTC 存儲(chǔ)器中的專用程序,訪問 RTC 外設(shè)、內(nèi)部傳感器及 RTC 寄存器。在對(duì)功耗敏感的場(chǎng)景下,主 CPU 處于睡眠狀態(tài)以降低功耗,協(xié)處理器可以由協(xié)處理器定時(shí)器喚醒,通過控制 RTC GPIO、RTC I2C、SAR ADC、溫度傳感器 (TSENS) 等外設(shè)監(jiān)測(cè)外部環(huán)境或與外部電路進(jìn)行交互,并在達(dá)到喚醒條件時(shí)主動(dòng)喚醒主 CPU。
這個(gè)是配置ULP
這就是初始化的時(shí)候要寫一段語(yǔ)句,點(diǎn)是結(jié)構(gòu)體不需要按照順序賦值
這就是最上面的ADC單元的選擇
這個(gè)里面的宏定義
設(shè)置 ADC 的初始配置后,使用adc_oneshot_new_unit()準(zhǔn)備好的adc_oneshot_unit_init_cfg_t.如果分配成功,該函數(shù)將返回 ADC 單元句柄。
里面的返回值
該函數(shù)可能會(huì)因參數(shù)無(wú)效、內(nèi)存不足等各種錯(cuò)誤而失敗。具體來(lái)說,當(dāng)要分配的ADC實(shí)例已經(jīng)注冊(cè)時(shí),該函數(shù)將返回ESP_ERR_NOT_FOUND錯(cuò)誤。可用 ADC 的數(shù)量由 記錄SOC_ADC_PERIPH_NUM。
如果之前創(chuàng)建的ADC實(shí)例不需要記錄器,則應(yīng)通過調(diào)用回收ADC實(shí)例adc_oneshot_del_unit(),相關(guān)的硬件和軟件資源也會(huì)被回收。
這個(gè)函數(shù)太長(zhǎng)了,沒時(shí)間寫了,明天一定
審核編輯:湯梓紅
-
傳感器
+關(guān)注
關(guān)注
2564文章
52788瀏覽量
765297 -
寄存器
+關(guān)注
關(guān)注
31文章
5430瀏覽量
123911 -
adc
+關(guān)注
關(guān)注
99文章
6671瀏覽量
548686 -
樂鑫
+關(guān)注
關(guān)注
0文章
203瀏覽量
25946 -
ESP32
+關(guān)注
關(guān)注
21文章
1012瀏覽量
19044
原文標(biāo)題:ESP32-S3 ADC外設(shè).1-實(shí)例
文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無(wú)跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【FireBeetle 2 ESP32-S3開發(fā)板測(cè)評(píng)】Arduino IDE快速開發(fā)體驗(yàn)

【FireBeetle 2 ESP32-S3開發(fā)板測(cè)評(píng)】MicroPython開發(fā)體驗(yàn)

使用VScode編輯和編譯esp32-s3,目標(biāo)設(shè)備選擇esp32-s3時(shí)報(bào)錯(cuò)如何解決?
ESP32-S3芯片與ESP32及ESP32-S2比較好在哪里呢
淺談ESP32-C3與ESP32-S3芯片
合宙ESP32-S3開發(fā)板特性解讀
使用MTCNN和用于ESP32-S3的TensorFlow Lite進(jìn)行人臉檢測(cè)

啟明去端分享| ESP32-S3如何實(shí)現(xiàn)tcp_client和tcp_server

新品上市 | 合宙ESP32-S3開發(fā)板

基于ESP32-S3的高性能開發(fā)板介紹

樂鑫ESP32-S3-WROOM-1U參考設(shè)計(jì)
樂鑫ESP32-S3-WROOM-2參考設(shè)計(jì)
借助ESP32-S3主控MCU、ChirpLAN?小網(wǎng)關(guān)搭建大網(wǎng)絡(luò)
分享6個(gè)實(shí)用的ESP32-S3物聯(lián)網(wǎng)項(xiàng)目:從智能設(shè)備到安全創(chuàng)新
ESP32-S3芯片賦能設(shè)備,打造智能交互新體驗(yàn)

評(píng)論