娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月30日(星期五)

2019年05月30日 | HAL庫教程12:ADC與DMA采集多路AD值

發布者:guqian999 來源: eefocus關鍵字:HAL庫  ADC  DMA  采集多路AD值 手機看文章 掃描二維碼
隨時隨地手機看文章

AD的基礎知識

??AD很復雜,其實也不復雜,因為我們用的不多。

??AD:模擬量轉換數字量(模擬信號轉換數字信號)。

??ADC:模擬量轉數字量的轉換器

??為什么需要AD呢?

??自然界宏觀的物理量都是連續的。而機器識別的信號0與1是離散的。為了讓機器能夠采集、分析、儲存這些連續的量,所以要把需要被模擬的量轉換為數字量。

??主要的參數:采樣精度與轉換速度。

??采樣精度,也叫作分辨率。如果0-100攝氏度用8位AD來儲存的話,精度計算?

??0000 0000 —— 0攝氏度

??1111 1111 —— 100攝氏度

??100/256 = 0.39攝氏度,0.39就是最小份的分辨率,也就是采樣精度.沒有辦法表現出0.2度

??100/65536 = 0.0015,16位的AD,精度就很高了。

??轉換速度

??從啟動到出結果用的時間,一般來說越快越好。與精度不可兼得。被單位時間采樣數量影響。采樣多,速度不會很快。

??STM32F4使用的AD是逐次逼近型ADC,它產生一系列比較電壓VR,但它是逐個產生比較電壓,逐次與輸入電壓分別比較,以逐漸逼近的方式進行模數轉換的。它比并聯比較型ADC的轉換速度慢,比雙分積型ADC要快得多,屬于中速ADC器件。


多通道AD采集需要使用DMA

??在STM32的手冊中,我們發現,不論是單次采集還是多次采集,轉換完成的數據都會放在同一個地方。

在這里插入圖片描述

??由于DR寄存器不是一個數組,而是一個字節,所以只能保存最新的轉換結果。例如,通道1和通道2都使用,通道1的轉換結果放在DR寄存器。通道2轉換完畢以后,就會覆蓋通道1的結果。

??程序里,當然可以通過一些處理,讓通道1的結果在被覆蓋之前就保存好。不過,運用STM32的DMA功能,可以更好地解決結果被覆蓋的問題。


在這里插入圖片描述

DMA的介紹


在這里插入圖片描述
在這里插入圖片描述

??重點:用于高速搬運數據,還無需CPU干預。 因此在多通道采集模擬量是,我們可以建立一個數組,用于儲存AD轉換的數據。一旦ADC_DR寄存器里有了新的數據,就把新數據放在數組里。一會兒ADC_DR有了一個新的數據,就放在數組下一位。數組裝滿以后?根據需求來。我們設置的是循環模式,也就是再來一遍,覆蓋之前的數據。


使用CubeMX配置DMA+多通道ADC

??我使用的板子,有兩路NTC熱敏電阻分別接在PC0與PC1上,我們把這兩個引腳用作ADC1的通道10與11。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

啟用DMA

??新建AD.c與AD.h文件,設置全局的接收數組與計數器。


//AD.c

uint32_t AD_Buf[ADC_CHANNEL_CNT];

uint32_t DMA_CNT = 0;


//AD.h

#define ADC_CHANNEL_CNT     2


extern uint32_t AD_Buf[ADC_CHANNEL_CNT];

extern uint32_t DMA_CNT;



??在主函數中可以借助HAL庫提供的HAL_ADC_Start_DMA()函數,開啟ADC的DMA功能,指定接收數組為AD_Buf,并指定接收的字符數為ADC_CHANNEL_CNT。


??DMA通常用于處理大量數據,但是目前,每秒發送兩個數據,數據量很小,沒有體現出DMA的特點。雖然只打印了兩個數據,但是DMA到底采集了多少數據?已知DMA在AD轉換完成以后“搬運”數據,所以我們可以在ADC轉化完成的中斷函數里做計數。


//AD.c

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)

{

  if(hadc==(&hadc1))

  {

    DMA_CNT++;

  }    

}

//main.c main()

  while (1)

  {

    HAL_Delay(1000);

    for(int i=0;i    printf("CH%d value = %d n",i,AD_Buf[i]&0xFFF);

    printf("DMA采集數據的次數是 %d",DMA_CNT);

    DMA_CNT=0;

  }



??我看到的現象是,DMA_CNT大約是15W,每次兩個數據,也就是DMA1秒鐘搬運了30W個字節。可以想象,如果不是AD轉換速度限制,DMA還可以更快一點.


??至于采集過來的AD值到底怎么用,那就是另一個問題了。



關鍵字:HAL庫  ADC  DMA  采集多路AD值 引用地址:HAL庫教程12:ADC與DMA采集多路AD值

上一篇:HAL庫教程13:AD+DMA采集數據的濾波
下一篇:HAL庫教程11:定時器的緩沖功能與影子寄存器

推薦閱讀

在十幾年前,集復雜電腦、相機和手機融于一體、能夠裝在口袋里的設備,可能還屬于科幻小說里的東西。可是現在,智能手機已經隨處可見,而且越來越智能化。想象一下,當手機在人工智能(AI)的幫助下能在云端診斷大部分醫療問題時,你可能再也不必去看醫生了。應用程序可以發布診斷報告和處方,你能夠前往當地藥店3D打印自己需要的藥品。這并非遙不可及的幻想...
在大多數人的印象中,HPC(高性能計算)是一個專業度極高又相對冷寂的領域。大家平時做做超級計算機打打Top 500榜單,然后把這些龐然大物打包賣給高校和研究機構。 在很長一段時間內,情況確實如此。不過隨著大數據的發展,數據量的幾何式增長讓HPC的應用空間得到了極大的擴展。在這一過程中,HPC市場的流動性也開始逐漸增強。最近發生的一樁行業內收購案...
COVID-19全球流行,在應對新冠疫情時,各國的醫療衛生系統都受到極大挑戰。無疑,此輪新冠疫情將影響全球的醫療衛生體系發展方向。目前,已經有建筑師、醫療衛生顧問討論如何改變現代醫院的設計,讓醫療衛生系統能夠更好地應對危機。 從一方面來看,新冠疫情爆發早期,醫護人員大量接觸感染病人,防護不到位,醫護人員感染率較高。在疫情中,問診機器人...

史海拾趣

問答坊 | AI 解惑

IC設計師是未來最有前景專業 IC人必看的新聞!

出自:天津學生網(www.5icool.com) 目前,中國已成為全球增長潛力最大的電子產品消費大國:全球最大的移動電話市場、第三大PC市場,未來五年還將成為全球第二大半導體市場。這個市場所蘊藏的巨大商機令各國的IT巨頭們心動不已,競相調整中國 ...…

查看全部問答∨

計算機專業可以做硬件嗎

大家好,我是一個計算機專業的學生,即將畢業了,我很想做嵌入式系統開發,但不知道我們計算機專業的學生的硬件功底可能做硬件開發。 我們學過模電、數電,單片機、接口技術、計算機組成原理。…

查看全部問答∨

中國移動TD二期28個城市即將放號

中國移動TD二期28個城市即將放號     中國移動TD二期建網的28個省會城市以及直轄市包括:石家莊、太原、呼和浩特 、長春、哈爾濱、南京、杭州、合肥、福州、南昌、濟南、鄭州、武漢、長沙、南寧 、海口、重慶、成都、貴陽、昆明、拉薩 ...…

查看全部問答∨

辯題討論-硬件工程師好還是軟件工程師好?

我想每個學電子的,都會為自己的發展方向而憂愁過。在選擇從事方向時不知道就行選擇哪一個?   究竟是做硬件好還是做軟件好,還是全部都做?   希望網友能說是你的看法,給為選擇的人們一定指引。。。…

查看全部問答∨

Vxworks下兩個虛擬機如何正常通信

我在主機上建了兩個虛擬機,可客戶端向服務器發送數據,服務器端都沒有反應,建的虛擬FTP客戶端也無法登陸虛擬FTP服務器,請問虛擬機間到底應該如何通信啊??…

查看全部問答∨

關于intel ICH7文檔中點東西看不懂,望高手指教

Additionally, BIOS workarounds for power management can be supported by setting MPC.PMME (D28:F0/F1/F2/F3/F4/F5:Offset D8h:bit 0). When this bit is set, power management events will set SMSCS.PMMS (D28:F0/F1/F2/F3/F4/F5:Offset D ...…

查看全部問答∨

再次請教版主

版主,我現在對FSMC好迷惑啊。不知道有沒有什么資料。 現在的問題是:    FSMC在bank1中的那4個片選NE1~4是如何判斷接法?比如,為什么LCD液晶的片選要接NE4?     接其它的片選不行嗎?那3個都是接什么的啊? http: ...…

查看全部問答∨

強烈建議STM8S開放外部數據總線

                                 剛剛把用STM8S給客戶做的項目調試完畢,效果完美,客戶非常滿意,對STM8S的了解也更多了些,已經體驗到這個小家伙 ...…

查看全部問答∨

求高手指教如何處理數碼管與液晶顯示器同時使用接口?

數碼管與液晶同時顯示時,共用了P2口,影響了數碼管上得值,怎樣才能不相互影響?…

查看全部問答∨

也談WEBENCH,不僅僅是活動

壇子里大多數兄弟可能是通過活動才知道WEBENCH這個工具的吧,這一塊我接觸的時間還是比較長的。因為最早從TI沒有收購國家半導體的時候我就已經在用這個工具了,當時是國半的芯片LM2596,LM5007,作為運放供電,但是數據手冊看的麻煩的很啊,所以就 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宜昌市| 上犹县| 成都市| 黎平县| 岐山县| 涞源县| 诏安县| 军事| 宁蒗| 都昌县| 庆安县| 中西区| 巫山县| 新和县| 施秉县| 方城县| 龙山县| 尚义县| 共和县| 大理市| 孟村| 神木县| 青田县| 霸州市| 南安市| 梨树县| 雷州市| 阿克陶县| 建阳市| 吉木乃县| 无为县| 巢湖市| 新宁县| 台东县| 固阳县| 金沙县| 玉环县| 邮箱| 平远县| 石屏县| 白银市|