昨天寫(xiě)了一個(gè)ADC的文章,感覺(jué)浮于表面,今天會(huì)完整的剖析這個(gè)外設(shè),畢竟樂(lè)鑫給的太多了。
ESP32-S3 ADC外設(shè)這個(gè)是昨天寫(xiě)的。

比較傻逼的一點(diǎn)是ADC這么屌的一個(gè)外設(shè)給我歸類在這里

我其實(shí)有點(diǎn)沒(méi)看懂,應(yīng)該是有兩個(gè)ADC,但是這么多的引腳是支持而已

這個(gè)是倆種測(cè)量方式,就是精度的區(qū)別

具體的測(cè)量方式在這里

這個(gè)是驅(qū)動(dòng)的流程框圖

GPIO的引腳

測(cè)量公式

支持DMA的傳輸方式

還支持?jǐn)?shù)據(jù)的濾波

直接中斷

我這里就隨便寫(xiě)個(gè)寄存器

這是所有的寄存器

OKOK,具體的手冊(cè)就是這樣了,因?yàn)榫褪莻€(gè)轉(zhuǎn)換器而已,手冊(cè)里面沒(méi)有過(guò)多的說(shuō)明一些技術(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àn)章節(jié) 10 低功耗管理 (RTC_CNTL)),允許開(kāi)發(fā)者通過(guò)存儲(chǔ)在 RTC 存儲(chǔ)器中的專用程序,訪問(wèn) RTC 外設(shè)、內(nèi)部傳感器及 RTC 寄存器。在對(duì)功耗敏感的場(chǎng)景下,主 CPU 處于睡眠狀態(tài)以降低功耗,協(xié)處理器可以由協(xié)處理器定時(shí)器喚醒,通過(guò)控制 RTC GPIO、RTC I2C、SAR ADC、溫度傳感器 (TSENS) 等外設(shè)監(jiān)測(cè)外部環(huán)境或與外部電路進(jìn)行交互,并在達(dá)到喚醒條件時(shí)主動(dòng)喚醒主 CPU。

這個(gè)是配置ULP

這就是初始化的時(shí)候要寫(xiě)一段語(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)說(shuō),當(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)通過(guò)調(diào)用回收ADC實(shí)例adc_oneshot_del_unit(),相關(guān)的硬件和軟件資源也會(huì)被回收。

這個(gè)函數(shù)太長(zhǎng)了,沒(méi)時(shí)間寫(xiě)了,明天一定
審核編輯:湯梓紅
-
傳感器
+關(guān)注
關(guān)注
2576文章
55041瀏覽量
791336 -
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129996 -
adc
+關(guān)注
關(guān)注
100文章
7511瀏覽量
555979 -
樂(lè)鑫
+關(guān)注
關(guān)注
0文章
212瀏覽量
26741 -
ESP32
+關(guān)注
關(guān)注
26文章
1195瀏覽量
21705
原文標(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開(kāi)發(fā)板測(cè)評(píng)】Arduino IDE快速開(kāi)發(fā)體驗(yàn)
【FireBeetle 2 ESP32-S3開(kāi)發(fā)板測(cè)評(píng)】MicroPython開(kāi)發(fā)體驗(yàn)
使用VScode編輯和編譯esp32-s3,目標(biāo)設(shè)備選擇esp32-s3時(shí)報(bào)錯(cuò)如何解決?
ESP32-S3硬件設(shè)計(jì)指南
ESP32-S3芯片與ESP32及ESP32-S2比較好在哪里呢
淺談ESP32-C3與ESP32-S3芯片
合宙ESP32-S3開(kāi)發(fā)板特性解讀
啟明去端分享| ESP32-S3如何實(shí)現(xiàn)tcp_client和tcp_server
新品上市 | 合宙ESP32-S3開(kāi)發(fā)板
基于ESP32-S3的高性能開(kāi)發(fā)板介紹
借助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)
ESP32-S3的MicroPython開(kāi)發(fā)環(huán)境搭建
ESP32-S3 ADC外設(shè)實(shí)例
評(píng)論