国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

陽江做網(wǎng)站多少錢合肥網(wǎng)絡(luò)推廣網(wǎng)絡(luò)運營

陽江做網(wǎng)站多少錢,合肥網(wǎng)絡(luò)推廣網(wǎng)絡(luò)運營,可以看的網(wǎng)站都有哪些,網(wǎng)站開發(fā)建設(shè)招聘要求系列文章目錄 嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記01:賽事介紹與硬件平臺 嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記02:開發(fā)環(huán)境安裝 嵌入式|藍(lán)橋杯STM32G431(…

系列文章目錄

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記01:賽事介紹與硬件平臺

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記02:開發(fā)環(huán)境安裝

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記03:G4時鐘結(jié)構(gòu)

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記04:從零開始創(chuàng)建工程模板并開始點燈

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記05:Systick滴答定時器

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記06:按鍵輸入

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記07:ADC模數(shù)轉(zhuǎn)換

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記08:LCD液晶屏

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記09:EEPROM

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記10:USART串口通訊

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記11:數(shù)字電位器MCP4017

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記12:DAC數(shù)模轉(zhuǎn)換

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記13:RTC實時時鐘

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記14:PWM捕獲

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記15:PWM輸出

嵌入式|藍(lán)橋杯STM32G431(HAL庫開發(fā))——CT117E學(xué)習(xí)筆記16:第十四屆省賽真題


目錄

系列文章目錄

前言

一、基礎(chǔ)知識

二、程序設(shè)計

總結(jié)


前言

DAC是將數(shù)字量轉(zhuǎn)化成模擬量的器件,我們可以通過編程來實現(xiàn)輸出某個特定的電壓值,也就是模擬量。STM32G4內(nèi)部集成了一個DAC模塊,我們通過對STM32的編程就可以實現(xiàn)在它的特定的管腳上輸出一個特定的電壓,當(dāng)然這個電壓是可以通過我們的程序進行變化的,比如我們可以讓他輸出一個三角波或者正弦波都是可以的,只要在0-3.3V的范圍之內(nèi)就可以。當(dāng)然,DAC輸出也會受限于內(nèi)部DAC器件的位數(shù)和精度。

一、基礎(chǔ)知識

首先我們要了解一下STM32的哪個管腳可以作為DAC輸出來使用,我們可以打開數(shù)據(jù)手冊,在第四章管腳描述的部分找到管腳定義,搜索DAC就可以找到。

PA4可以作為DAC1的輸出1通道,PA5可以作為DAC1的輸出2通道,所以PA4、PA5就是我們這個芯片的DAC輸出管腳。

對應(yīng)的開發(fā)板上有一個J3的排針,也就是我們的拓展接口。我們通過對PA4、PA5的排針進行電壓測量就可以知道我們編程的正不正確(通過萬用表或者示波器)。

我們再看一下參考手冊中關(guān)于DAC的基本描述,可以看到它是一個12位的DAC,也就是可以輸出的數(shù)字量的范圍是0-4095,即0-FFF。它也可以配置成8位。在12位模式下,數(shù)據(jù)可以配置成左對齊或者右對齊,也就是要用兩個字節(jié)來對它進行輸出控制(因為8<12<16),如果是左對齊的話就是FFF0,如果是右對齊就是0FFF,我們一般是用右對齊,這樣它的范圍就是0-0FFF,也就是0到4095。(如果是左對齊,就是0000,0010-FFF0,就不是很方便,所以我們推薦用右對齊)。然后,DAC有兩個輸出通道,每個通道有自己獨立的轉(zhuǎn)換器,在雙DAC通道模式下,轉(zhuǎn)換可以獨立發(fā)生也可以同時發(fā)生,這個看我們的編程,可以讓他同時輸出也可以單獨輸出。

然后我們主要看一下DAC的特性:

  • 有四個DAC接口,每個最多兩個輸出通道(我們這個芯片版本是閹割版本,因為管腳太少)
  • 可以設(shè)置左對齊或者右對齊的12位模式(只選右對齊就可以了)
  • 可以同步更新(我們也不需要用到)
  • 內(nèi)置噪聲波形和三角波形的發(fā)生
  • 內(nèi)置鋸齒波的發(fā)生
  • 雙通道可以同時輸出也可以獨立輸出
  • 可以用到DMA(用不到)
  • 可以由外部觸發(fā)輸出,也可以由軟件控制輸出
  • DAC輸出模式由buffered模式和unbuffered模式(緩存機制:來一連串指令可以逐個輸出,unbuffered模式則只輸出最后一個,我們一般工作在buffered模式)
  • ……

這部分最關(guān)鍵的就是要知道我們的DAC的接口PA4、PA5,以及它是12位的右對齊。

二、程序設(shè)計

這部分主要就是講如何在STM32上編程控制DAC的兩個管腳輸出電壓,并且這個電壓我們的程序是可以控制的。

首先我們看一下程序設(shè)計步驟:

1.將“模板”用CubeMX生成代碼

2.配置DAC輸出的IO口:PA4->DAC1_OUT1,PA5->DAC1_OUT2

3.DAC輸出模式:輸出到外部引腳(connected to external pin)

4.將dac.c和dac.h移植到“編程工程”

  • main.c包含dac.h
  • 添加DAC相關(guān)的HAL庫驅(qū)動文件
  • 在conf.h文件中啟動DAC模塊
  • DAC1初始化(MX_DAC1_Init)
  • 調(diào)用HAL_DAC_SetValue和HAL_DAC_Start函數(shù)編寫程序

如圖配置引腳:

設(shè)置外部引腳輸出(不用勾選外部觸發(fā),用軟件輸出就可以了):

其他的不需要配置,保持默認(rèn)就可以了。然后我們生成代碼。有的人可能會問DAC要不要配置時鐘,我們這里是不需要的,用系統(tǒng)時鐘就可以了,因為DAC的觸發(fā)主要是通過外部觸發(fā)或者內(nèi)部軟件觸發(fā),所以時鐘是不需要進行配置的。

生成代碼后我們就可以把DAC進行移植,這個步驟我們之前已經(jīng)進行過很多次了,程序設(shè)計步驟中寫的也很詳細(xì),就不細(xì)說了。

然后我們就可以用HAL_DAC_SetValue()和HAL_DAC_Start()來編寫程序生成電壓。HAL_DAC_SetValue()有四個參數(shù),第一個是DAC的處理結(jié)構(gòu)體,直接寫&hadc1就行了。第二個參數(shù)是它的通道,DAC_CHANNEL_1或者DAC_CHANNEL_2。第三個參數(shù)是對齊方式,我們前面說到是用12位右對齊,所以是DAC_ALIGN_12B_R。第四個是輸入的數(shù)據(jù)(0-4095)。4095對應(yīng)的就是3.3V,如1365對應(yīng)的就是1.1V 。

這些參數(shù)的定義都是可以在函數(shù)定義里面找到的,如果考場上記不住就直接到定義里找。

例如:

HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_R,1365)

就是在PA4上輸出1365的模擬電壓1.1V(因為4095/3=1365)

設(shè)置完DAC的值后要啟動一下HAL_DAC_Start(&hdac1,DAC_CHANNEL_1),這個參數(shù)只需要寫一個是哪個結(jié)構(gòu)體和哪個通道就可以了。

void DAC_Process(void)
{HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_L,1365);HAL_DAC_Start(&hdac1,DAC_CHANNEL_1);//PA4輸出1.1VHAL_DAC_SetValue(&hdac1,DAC_CHANNEL_2,DAC_ALIGN_12B_L,2730);HAL_DAC_Start(&hdac1,DAC_CHANNEL_2);//PA5輸出2.2V
}while (1)
{DAC_Process();
}

需要注意的是我們DAC是先設(shè)值再啟動,不同于ADC是先啟動再設(shè)值。

當(dāng)然,上面這個程序我們也可以這樣寫:

u8 dac_val1,dac_val2;
void DAC_Process(float dac_volt1,dac_volt2)
{dac_val1=dac_volt1/3.3f*4095;dac_val2=dac_volt2/3.3f*4095;HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_L,dac_val1);HAL_DAC_Start(&hdac1,DAC_CHANNEL_1);//PA4輸出1.1VHAL_DAC_SetValue(&hdac1,DAC_CHANNEL_2,DAC_ALIGN_12B_L,dac_val2);HAL_DAC_Start(&hdac1,DAC_CHANNEL_2);//PA5輸出2.2V
}while (1)
{DAC_Process(1.1f,2.2f);
}

這樣調(diào)用的時候直接輸入需要的電壓就行了。

總結(jié)

這一節(jié)的重點在于要知道DAC的接口PA4、PA5,以及它是12位的右對齊,知道要配置外部引腳輸出,還要會寫HAL_DAC_SetValue()和HAL_DAC_Start()的程序。

http://aloenet.com.cn/news/38020.html

相關(guān)文章:

  • 互聯(lián)網(wǎng)保險經(jīng)紀(jì)公司十大排名哈爾濱推廣優(yōu)化公司
  • wordpress 自定義主頁沈陽專業(yè)seo
  • 怎樣給網(wǎng)站做圖標(biāo)百度客戶端
  • 廣西南寧網(wǎng)站建設(shè)平臺推廣費用
  • wordpress文章 頁面模板武漢網(wǎng)絡(luò)推廣優(yōu)化
  • 知舟網(wǎng)站建設(shè)網(wǎng)站如何被百度快速收錄
  • 廣州公司網(wǎng)站制作招聘信息網(wǎng)站關(guān)鍵詞優(yōu)化的價格
  • 蘇州專業(yè)網(wǎng)站建設(shè)開發(fā)石家莊seo管理
  • 網(wǎng)站系統(tǒng)安全保護等級是必須做的seo獨立站優(yōu)化
  • 88黃頁企業(yè)名錄長沙靠譜關(guān)鍵詞優(yōu)化服務(wù)
  • 用phpmysql做圖書網(wǎng)站寰宇seo
  • 可以做ppt的網(wǎng)站有哪些內(nèi)容北京百度seo排名點擊軟件
  • 什么是品牌設(shè)計重慶做優(yōu)化的網(wǎng)絡(luò)公司
  • 自由策劃網(wǎng)站建設(shè)一個新產(chǎn)品策劃方案
  • 游戲服務(wù)器網(wǎng)站seo推廣招聘
  • 做網(wǎng)站服裝app試分析網(wǎng)站推廣和優(yōu)化的原因
  • 成品網(wǎng)站源碼免費小說網(wǎng)站排名
  • 網(wǎng)站空間在哪買好微信管理系統(tǒng)登錄入口
  • 外貿(mào)網(wǎng)站如何做的好處站長工具seo綜合查詢怎么使用的
  • 手機網(wǎng)站推薦深圳seo優(yōu)化服務(wù)
  • 武漢網(wǎng)站優(yōu)化方案網(wǎng)絡(luò)推廣十大平臺
  • 怎樣獲得做網(wǎng)站的客戶信息發(fā)布平臺推廣有哪些
  • 濰坊仿站定制模板建站圖片外鏈上傳網(wǎng)站
  • 實名網(wǎng)站審核中心網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計制作
  • 網(wǎng)站建設(shè)公司巨頭泰州seo推廣
  • 網(wǎng)站設(shè)計 app開發(fā)優(yōu)化關(guān)鍵詞排名公司
  • 網(wǎng)站制作論壇網(wǎng)站推廣怎么弄
  • 松山湖仿做網(wǎng)站關(guān)聯(lián)詞有哪些四年級
  • 中國建設(shè)銀行官網(wǎng)站代發(fā)工資濰坊關(guān)鍵詞優(yōu)化軟件
  • 中國建設(shè)銀行濟南招聘信息網(wǎng)站google搜索app下載