本篇詳細(xì)的記錄了如何使用STM32CubeMX配置STM32L431RCT6的ADC外設(shè),讀取DAC輸出引腳的電壓值。
硬件準(zhǔn)備
開發(fā)板
首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是STM32L4的開發(fā)板(BearPi):
軟件準(zhǔn)備
需要安裝好Keil - MDK及芯片對應(yīng)的包,以便編譯和下載生成的代碼;
準(zhǔn)備一個串口調(diào)試助手,這里我使用的是Serial Port Utility;
Keil MDK和串口助手Serial Port Utility 的安裝包都可以在文末關(guān)注公眾號獲取,回復(fù)關(guān)鍵字獲取相應(yīng)的安裝包:
選擇芯片型號
打開STM32CubeMX,打開MCU選擇器:
搜索并選中芯片STM32L431RCT6:
配置時鐘源
如果選擇使用外部高速時鐘(HSE),則需要在System Core中配置RCC;
如果使用默認(rèn)內(nèi)部時鐘(HSI),這一步可以略過;
這里我都使用外部時鐘:
配置串口
小熊派開發(fā)板板載ST-Link并且虛擬了一個串口,原理圖如下:
這里我將開關(guān)撥到AT-MCU模式,使PC的串口與USART1之間連接。
接下來開始配置USART1:
配置DAC
確定DAC輸出通道
查看小熊派E53接口的原理圖:
配置DAC
選擇DAC1,開啟輸出通道2,配置保持默認(rèn)即可:
配置ADC
知識小卡片 —— ADC
ADC全稱 Analog-to-Digital Converter,即模擬-數(shù)字轉(zhuǎn)換器,可以將連續(xù)變化的模擬信號轉(zhuǎn)換為離散的數(shù)字信號,進(jìn)而使用數(shù)字電路進(jìn)行處理,稱之為數(shù)字信號處理。
STM32L431xx 系列有 1 個 ADC,ADC 分辨率高達(dá) 12 位,每個 ADC 具有多達(dá) 20 個的采集
通道,這些通道的 A/D 轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。 ADC 的結(jié)果可以左對齊
或右對齊方式存儲在 16 位數(shù)據(jù)寄存器中。
STM32L431 的 ADC 最大的轉(zhuǎn)換速率為 5.33Mhz,也就是轉(zhuǎn)換時間為 0.188us(12 位分辨率
時),ADC 的轉(zhuǎn)換時間與 AHB 總線時鐘頻率無關(guān)。
知識小卡片結(jié)束啦~對ADC有沒有了解呢?
確定ADC通道
查看小熊派E53接口的原理圖:
配置ADC(單次轉(zhuǎn)換模式)
首先選擇ADC1,開啟通道3:
接下來是對ADC的設(shè)置,這里我們保持默認(rèn)即可:
最后設(shè)置ADC的轉(zhuǎn)換規(guī)則:
其余的一些設(shè)置保持默認(rèn)即可。
配置時鐘樹
STM32L4的最高主頻到80M,所以配置PLL,最后使HCLK = 80Mhz即可:
生成工程設(shè)置
代碼生成設(shè)置
最后設(shè)置生成獨(dú)立的初始化文件:
生成代碼
點(diǎn)擊GENERATE CODE即可生成MDK-V5工程:
重定向printf( )函數(shù)
參考:【STM32Cube】(八)基于串口發(fā)送函數(shù)實(shí)現(xiàn)printf()。
編寫讀取數(shù)據(jù)的測試代碼
修改main函數(shù)如下:
int main(void){ /* USER CODE BEGIN 1 */ uint16_t i = 0; uint16_t adc_value = 0; float vol = 0.0; /* USER CODE END 1 */ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DAC1_Init(); MX_USART1_UART_Init(); MX_ADC1_Init(); /* USER CODE BEGIN 2 */ printf("DAC Test...rn"); HAL_DAC_Start(&hdac1, DAC_CHANNEL_2); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ for(i = 0; i < 4096; i++) { HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_2, DAC_ALIGN_12B_R, i); HAL_Delay(2); if(i%1024 == 0) { /* 使用ADC采樣 */ HAL_ADC_Start(&hadc1); //啟動ADC單次轉(zhuǎn)換 HAL_ADC_PollForConversion(&hadc1, 50); //等待ADC轉(zhuǎn)換完成 adc_value = HAL_ADC_GetValue(&hadc1); //讀取ADC轉(zhuǎn)換數(shù)據(jù) vol = ((double)adc_value/4096)*3.3; printf("adc_value = %d, vol = %.2fV.n", adc_value, vol); } } printf("DAC test finish, test again!rn"); } /* USER CODE END 3 */ }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.
至此,我們已經(jīng)學(xué)會如何使用ADC讀取DAC輸出引腳的電壓值。
上一篇:【STM32Cube_21】使用DAC輸出任意指定電壓
下一篇:【STM32Cube_05】使用EXIT中斷檢測按鍵
推薦閱讀
史海拾趣
隨著科技的不斷進(jìn)步,Elite始終將技術(shù)研發(fā)作為公司發(fā)展的核心驅(qū)動力。公司投入大量資金引進(jìn)先進(jìn)設(shè)備和技術(shù)人才,不斷提升產(chǎn)品性能和質(zhì)量。同時,Elite積極拓展國內(nèi)外市場,通過參加各類展會、建立合作伙伴關(guān)系等方式,提高品牌知名度和市場占有率。
2015年,Contrinex正式進(jìn)入中國市場,成立了全新的中國子公司。這一重要舉措不僅進(jìn)一步拓寬了公司的業(yè)務(wù)范圍,也為中國客戶提供了更加便捷和高效的服務(wù)。在中國市場,Contrinex憑借其電感式、光電式、安全光幕和RFID系統(tǒng)的工業(yè)級傳感器產(chǎn)品,贏得了眾多客戶的青睞和信賴。
在發(fā)展過程中,AE公司不斷突破技術(shù)瓶頸,實(shí)現(xiàn)了多項(xiàng)重要技術(shù)的創(chuàng)新。這些技術(shù)突破不僅提升了公司產(chǎn)品的性能和質(zhì)量,也推動了整個電子行業(yè)的發(fā)展。隨著技術(shù)的不斷進(jìn)步,AE公司開始將業(yè)務(wù)拓展至全球市場。通過與各國客戶的合作與交流,AE公司不斷了解市場需求,優(yōu)化產(chǎn)品設(shè)計(jì),為全球客戶提供更加優(yōu)質(zhì)的電源解決方案。
EUtech公司注重品牌塑造和市場拓展。他們通過參加國際展會、舉辦技術(shù)研討會等方式提高品牌知名度。同時,公司積極拓展海外市場,產(chǎn)品已出口到新加坡、香港、韓國等國家和地區(qū)。憑借優(yōu)異的產(chǎn)品質(zhì)量和良好的市場口碑,EUtech公司逐漸在國際市場上樹立起了品牌形象。
在全球化的浪潮下,EUtech公司積極尋求國際合作。他們與德國的氫探新能源公司建立了長期穩(wěn)定的合作關(guān)系,共同研發(fā)燃料電池系統(tǒng)控制技術(shù)。通過共享資源、互補(bǔ)優(yōu)勢,雙方不僅提高了產(chǎn)品的競爭力,還推動了整個行業(yè)的技術(shù)進(jìn)步。
隨著電子行業(yè)的不斷發(fā)展和變革,Dae Ryung Electronic Co Ltd公司也面臨著前所未有的挑戰(zhàn)。為了應(yīng)對這些挑戰(zhàn),公司積極調(diào)整戰(zhàn)略和業(yè)務(wù)結(jié)構(gòu),加強(qiáng)在物聯(lián)網(wǎng)、人工智能等新興領(lǐng)域的研發(fā)和應(yīng)用。同時,公司還注重人才培養(yǎng)和引進(jìn),吸引了一批高素質(zhì)的技術(shù)和管理人才加入公司。這些努力使得公司在面對行業(yè)變革時能夠保持領(lǐng)先地位并實(shí)現(xiàn)可持續(xù)發(fā)展。
TL718多功能汽車OBD通訊協(xié)議芯片(發(fā)技術(shù)貼樣本) http://www.autoelectric.cn/discuz/viewthread.php?tid=8819&extra=page%3D1 汽車電子技術(shù)網(wǎng)ahjl2008轉(zhuǎn)… 查看全部問答∨ |
|
具體些的。 想轉(zhuǎn)做嵌入式,現(xiàn)在學(xué)習(xí)學(xué)習(xí)點(diǎn)基本功。 一般是應(yīng)用軟件 ,驅(qū)動,協(xié)議開發(fā)???? 新手,大家指點(diǎn)哈,各個方向是什么樣的? 謝謝… 查看全部問答∨ |
|
團(tuán)隊(duì)接WINCE,LINUX方面的嵌入式開發(fā) 擁有各種硬件平臺(S3C2410,S3C2440,S3C6410,EP9315,BF536,BF533,AU1200,MX21,MX31, PXA270,PXA310,Omap750,Omap850等)的linux,wince,windows mobile6的bsp移植經(jīng)驗(yàn),及各種外設(shè)驅(qū)動(wifi marvell8686,8688,藍(lán)牙,gps 快速定位,agps,gprs mc7 ...… 查看全部問答∨ |
|
研究過,設(shè)計(jì)過,使用過變頻器的大俠們,進(jìn)來談?wù)剬ψ冾l器器的認(rèn)識,應(yīng)用,市場情況~~~ 大家也可以借此加深對變頻器的認(rèn)識?!? 查看全部問答∨ |
|
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 組團(tuán)掘金1800億植介入醫(yī)械市場 注冊2025Medtec享門票限免及精準(zhǔn)商機(jī)對接
- 北斗規(guī)?;瘧?yīng)用賦能大理州智慧城市建設(shè)并獲兩岸業(yè)者與專家廣泛贊譽(yù)
- 超低噪聲開關(guān)穩(wěn)壓器在噪聲敏感型射頻應(yīng)用中的優(yōu)勢
- 萊迪思更新其高I/O密度和安全器件,進(jìn)一步拓展低功耗、小尺寸FPGA產(chǎn)品組合
- 無人機(jī)系統(tǒng)方案寶典:從選型到落地
- 納芯微:以應(yīng)用需求為內(nèi)核,驅(qū)動壓力傳感器不斷創(chuàng)新
- 中間繼電器有哪些選型原則?中間繼電器動態(tài)負(fù)載、短時負(fù)載都學(xué)過了嗎
- e絡(luò)盟社區(qū)攜手 Würth Elektronik 發(fā)起全球 LED 設(shè)計(jì)挑戰(zhàn)賽
- 開關(guān)量模塊如何控制中間繼電器?中間繼電器故障有哪些
- 中間繼電器用萬用表怎么測好壞?光電開關(guān)如何控制中間繼電器
- TI 高精度實(shí)驗(yàn)室信號鏈精品課大作戰(zhàn)——你學(xué)習(xí)我送禮!
- TI 嵌入式處理器最新產(chǎn)品發(fā)布會 全程在線直播 4月16日精彩為您呈現(xiàn)!預(yù)報(bào)名、看直播、享好禮
- 【TI 嵌入式研討會集錦】小站添加了很多新內(nèi)容,歡迎提貨!
- 《帶您了解ADI數(shù)字健康生物傳感器系列》有獎直播
- 解鎖【W(wǎng)5500-EVB-Pico】,探秘以太網(wǎng)底層,得捷Follow me第4期來襲!
- 免費(fèi)下載Vishay最新汽車解決方案
- 答題贏京東卡|《安森美和安富利物聯(lián)網(wǎng)創(chuàng)新設(shè)計(jì)大賽作品集》
- 有獎?wù){(diào)查:ST MEMS 傳感器論壇用戶問卷調(diào)查,參與有驚喜
- 答題贏好禮:ADI MEMS工業(yè)監(jiān)測助力機(jī)器大健康發(fā)展
- STM32F103C8T6的RC522 RFID模塊調(diào)試程序
- STM32F103R8t6 FreeRTOS工程adc+flash模擬EEPROM源程序
- SiFive發(fā)布全新RISC-V內(nèi)核20G1,更高計(jì)算和更低功耗
- STM32常見問題解決
- 基于stm32f103ze+mpu9250通過官方DMP庫串口輸出角度
- 我國支持外資投向高端制造、智能制造、綠色制造等領(lǐng)
- 諾基亞高管警告別用華為5G設(shè)備,官方緊急澄清:不代表公司
- 全球最聰明?李彥宏的無人車獲MIT認(rèn)證
- 告別蘋果5G基帶 英特爾又和Mac處理器說再見
- 任正非最新采訪:談?wù)撀?lián)邦快遞、實(shí)體清單、孟晚舟事件