一起学nRF51xx 16 - adc
前言
nRF51的ADC設(shè)計(jì)得比較簡單,它有幾個(gè)可配置的部分:
1)PSEL(pinselection):nRF51系列芯片有8個(gè)模擬輸入通道,并且這幾個(gè)腳是固定的,不能像GPIO那樣可以重新映射。PSEL用來選擇需要采集模擬電壓的通道,當(dāng)該通道被選中,引腳上的模擬電壓將會(huì)輸入到芯片內(nèi)部。
對(duì)于QFN48引腳封裝,ADC通道對(duì)應(yīng)的引腳為:
2)INPSEL(inputselection):用來選擇輸入的信號(hào)源。信號(hào)源可以是VDD,也可以是AIN[n]引腳的輸入。輸入還可以是VDD和AIN[n]的1/3、2/3分壓。
3)RES(resolution):ADC精度配置,可以配置成8BIT、9BIT、10BIT。
4)REFSEL(referenceselection):參考電壓選擇,可以選擇內(nèi)部VDD、外部AREF[n]、內(nèi)部1.2VVBG。
5)EXTREFSEL(externalreferenceselection):外部參考電壓選擇,可選的有AREF1和AREF0。
?
本節(jié)介紹nRF51系列SOCAD轉(zhuǎn)換器的使用。本例程把采集到的值通過串口打印輸出。
?
示例詳解
基于硬件平臺(tái):nrf51822ek_tm開發(fā)板。
?
本示例所用的最小系統(tǒng)板原理圖:
?
工程名為nrfxx-adc確認(rèn)后按下圖選擇芯片為nrf51822_xxAA->ok
在彈出的對(duì)話框中勾選CMSIS中的CORE;Device中的Startup(后面有nrf51Series字樣的);在nrf_device中勾選nrf_gpio, nrf_uart, nrf_adc ,nrf_delay,nrf_err并在nrf_Libraries中勾選app_error,nrf_assert模塊。
?
?
?
OK之后工程自動(dòng)生成如下代碼:
新建一個(gè)空白文檔,保存為main.c,并加入工程中:
配置工程,選擇使用MicroLIB庫,可以減小程序體積:
加入NRF51定義,并選擇化等級(jí)3,可以減小程序體積,但仿真運(yùn)行時(shí)可能會(huì)出現(xiàn)與代碼順序不一致現(xiàn)象:
?
調(diào)試工具選擇J-LINK,并將接口設(shè)置為SW口勾選下載程序后自動(dòng)復(fù)位及運(yùn)行:
?
?
????? 把程序編譯,可以看到串口助手中打印了以下輸出內(nèi)容:
關(guān)于nrf51xx及flash的更詳細(xì)介紹可以參看《nRF51822_PS_v3.3.pdf》或https://infocenter.nordicsemi.com/index.jsp
。
?
OK,本期實(shí)驗(yàn)完成!下期見!同時(shí)如果大家有什么疑問或是有想了解的其它內(nèi)容,也歡迎大家留言!!最后喜歡這個(gè)公眾號(hào)的同學(xué)們記得加關(guān)注了,會(huì)有不定期技術(shù)干貨推出!!
文中源碼資料下載,在公眾號(hào)里給十三發(fā)消息:
下載|一起學(xué)nRF51xx 16
?
關(guān)注十三公眾號(hào)
?
總結(jié)
以上是生活随笔為你收集整理的一起学nRF51xx 16 - adc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起学nRF51xx 15 - spi
- 下一篇: 一起学nRF51xx 17 - lpc