adc
概述
ADC(Analog-to-Digital Converter),即模擬數(shù)字轉(zhuǎn)換器,用于將模擬形式的連續(xù)信號(hào)轉(zhuǎn)換為數(shù)字形式的離散信號(hào)的一類(lèi)設(shè)備。典型的ADC設(shè)備將模擬信號(hào)轉(zhuǎn)換為表示一定比例電壓值的數(shù)字信號(hào)。 該組件是ADC VFS驅(qū)動(dòng)子系統(tǒng),給應(yīng)用或組件提供通過(guò)VFS形式(open/close/ioctl)訪(fǎng)問(wèn)ADC控制器驅(qū)動(dòng)對(duì)上層提供服務(wù)的接口。該組件初始化過(guò)程中,會(huì)根據(jù)hardware/chip/<chip_name>/package.yaml中定義的CONFIG_ADC_NUM來(lái)依此創(chuàng)建如下名稱(chēng)的設(shè)備節(jié)點(diǎn):
/dev/adc0
/dev/adc1
...
/dev/adc[CONFIG_ADC_NUM - 1]
組件支持以下功能:
從ADC設(shè)備讀取數(shù)據(jù)
版權(quán)信息
Apache license v2.0
目錄結(jié)構(gòu)
adc/
|-- example
| |-- adc_example.c #ADC示例代碼
|-- include
| |-- aos
| | |-- hal
| | |-- adc.h #ADC HAL API申明
| |-- vfsdev
| |-- adc_dev.h #ADC設(shè)備API申明
|-- package.yaml #編譯和配置文件
|-- README.md #使用文檔
|-- src
|-- adc_dev.c #ADC設(shè)備實(shí)現(xiàn)代碼
依賴(lài)組件
base # 最底層核心驅(qū)動(dòng)模型、驅(qū)動(dòng)自動(dòng)加載機(jī)制以及Device VFS core
vfs # VFS API抽象庫(kù)
常用配置
本組件可以通過(guò)CONFIG_ADC_NUM配置對(duì)上層提供設(shè)備節(jié)點(diǎn)的數(shù)量,CONFIG_ADC_NUM代表芯片內(nèi)部的ADC控制器的數(shù)量。 CONFIG_ADC_NUM默認(rèn)是在hardware/chip/<chip_name>/package.yaml中的def_config節(jié)點(diǎn)進(jìn)行配置。 如果沒(méi)有定義CONFIG_ADC_NUM,則代碼中會(huì)定義默認(rèn)對(duì)外輸出的設(shè)備節(jié)點(diǎn)數(shù)量。
設(shè)備節(jié)點(diǎn)數(shù)量: 默認(rèn)4個(gè), 如需修改,在hardware/chip/<chip_name>/package.yaml中修改CONFIG_ADC_NUM配置
def_config:
CONFIG_ADC_NUM: 2
API說(shuō)明
使用示例
組件使用示例相關(guān)的代碼下載、編譯和固件燒錄均依賴(lài)AliOS Things配套的開(kāi)發(fā)工具,所以首先需要參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之搭建開(kāi)發(fā)環(huán)境》,下載安裝。 待開(kāi)發(fā)環(huán)境搭建完成后,可以按照以下步驟進(jìn)行示例的測(cè)試。
步驟1 創(chuàng)建或打開(kāi)工程
打開(kāi)已有工程
如果用于測(cè)試的案例工程已存在,可參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之打開(kāi)工程》打開(kāi)已有工程。
創(chuàng)建新的工程
組件的示例代碼可以通過(guò)編譯鏈接到AliOS Things的任意案例(solution)來(lái)運(yùn)行,這里選擇helloworld_demo案例。helloworld_demo案例相關(guān)的源代碼下載可參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之創(chuàng)建工程》。
步驟2 添加組件
案例下載完成后,需要在helloworld_demo組件的package.yaml中添加對(duì)組件的依賴(lài):
depends:
- adc: dev_aos # helloworld_demo中引入adc組件
步驟3 下載組件
在已安裝了 的開(kāi)發(fā)環(huán)境工具欄中,選擇Terminal -> New Terminal啟動(dòng)終端,并且默認(rèn)工作路徑為當(dāng)前工程的workspace,此時(shí)在終端命令行中輸入:
aos install adc
上述命令執(zhí)行成功后,組件源碼則被下載到了./components/drivers/peripheral/adc路徑中。
步驟5 編譯固件
在示例代碼已經(jīng)添加至組件的配置文件,并且helloworld_demo已添加了對(duì)該組件的依賴(lài)后,就可以編譯helloworld_demo案例來(lái)生成固件了,具體編譯方法可參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之編譯固件》。
步驟6 燒錄固件
helloworld_demo案例的固件生成后,可參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之燒錄固件》來(lái)燒錄固件。
步驟7 打開(kāi)串口
固件燒錄完成后,可以通過(guò)串口查看示例的運(yùn)行結(jié)果,打開(kāi)串口的具體方法可參考《AliOS Things集成開(kāi)發(fā)環(huán)境使用說(shuō)明之查看日志》。
當(dāng)串口終端打開(kāi)成功后,可在串口中輸入help來(lái)查看已添加的測(cè)試命令。
步驟8 測(cè)試示例
CLI命令行輸入:
adc_example # 執(zhí)行adc示例
關(guān)鍵日志:
vfs adc test success, ret:0