欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
cc2530的ADC精度解釋
[打印本頁]
作者:
51黑ren
時間:
2015-12-27 03:34
標題:
cc2530的ADC精度解釋
cc2530的ADC精度解釋
轉載 2015-12-15 17:51:38
在調試cc2530的上的ADC的小實驗中,遇到的一些問題,想和大家一起分享一下。
關于ADC的使用需要注意以下幾點:
1.關于配置的寄存器:IO口的配置,其實仔細用大腦想想不用看數據手冊就應該想到,IO口要配置成為輸入模式,以下摘自數據手冊:
當使用ADC時,端口0引腳必須配置為ADC輸入。可以使用多達八個ADC輸入引腳。要配置一個端口0腳為一個ADC輸入,APCFG寄存器中相應的位必須設置為1。這個寄存器的默認值選擇端口0引腳為非ADC,即數字輸入輸出。APCFG寄存器的設置將覆蓋P0SEL的設置。
2.關于和ADC有關的幾個寄存器,實驗中使用的是ADCL和ADCH,主要放的是ADC轉換完畢的值,控制ADC啟用轉換的是三個控制器,分類是這樣的ADCCON1,ADCCON2,ADCCON3.其中ADCCON1,ADCCON2可以啟用連續轉換,而ADCCON3可以控制某一個通道執行一次轉換。以上這些一般人都是可以通過看手冊配置的,但是配置不是什么大問題,但是從ADCL和ADCH取值有疑問的。經過我的實驗,我總結到一個規律:
說實話,TI的CC2530的數據手冊有點失敗,不過還好ADC能用,數據手冊上是說ADC的最大有效數據位為12位。令人奇怪的是卻留給用戶一個ADCH和ADCL的高6位總共14位,真是令人費解,說好呢12位呢?不禁讓人猜想是不是本來設計的是14位,發現無法滿足設計的要求,就成12位了,呵呵。
我用的是10位的有效數據,但是怎么從ADCH和ADCL拼湊這10位的數據,通過實驗,我可以負責任地告訴大家,其實是這樣算的。注我選的是以AVDD5作為參考電壓的,AVDD5= 3.3V
例:ADCH為
01101100
ADCL為(注ADCL的低兩位無效,讀為0)
10101000
那么如何取值呢?經過計算,發現ADCH中最高位是帶有一位的有效數字的,對于單端的ADC轉換,轉換的數據是大于0的,所以符號位為0,那么總共是10位的有效數字位,所以拋開符號位,那么ADCL取高3位,和ADCH的除了符號位的7位組成10位的數字,那么此時有效值為1101100101,轉化為10進制的數是869,那么電壓值此時為869/1024*3.3V*1000MV。
至于剩余的12位依次類推,可得到結果,需要注意的是對于電壓值是0V的,會導致轉換的值溢出的問題,需特別注意。
作者:
20151227
時間:
2015-12-28 13:15
值得學習的資料
作者:
1612843049
時間:
2018-12-29 10:24
老哥,請問代碼編譯時出現無法打開ADC頭文件怎么辦?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1