概述
本篇文章主要介紹如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通過DAC輸出電壓,在芯片中有2個12位的DAC口可以供選擇。
硬件準備
首先需要準備一個開發板,這里我準備的是雅特力AT32F403AVGT7的開發板:
述
選擇芯片型號
雅特力AT32F403AVGT7兼容STM32F103系列,故選取STM32f103VG進行開發。
配置時鐘源
HSE與LSE分別為外部高速時鐘和低速時鐘,在本文中使用內置的時鐘源,故都選擇Disable選項,如下所示:
配置時鐘樹
雅特力AT32F403AVGT7最高頻率到240M,但是STM32F1的最高主頻到72M,同時使用不使用外部晶振時候,最高速度只能到64M,所以配置64即可:
DAC配置
然后設置PA4為DAC_OUT1, 完整引腳配置如下圖。
生成工程設置
注意在生產工程設置中不能出現中文,不然會報錯。
代碼生成設置
最后設置生成獨立的初始化文件。
生成代碼
代碼編寫
在main.c中,添加DAC電壓變量定義。
/* USER CODE BEGIN PTD */
int dac_i=0;//定義DAC電壓值
/* USER CODE END PTD */
在main.c中,開啟DAC通道1。
/* USER CODE BEGIN 2 */
HAL_DAC_Start(&hdac, DAC_CHANNEL_1);//開啟DAC通道1
/* USER CODE END 2 */
在main.c中,主程序輸出電壓值,因為是12位的dac,所以值只能是0-4095.
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(dac_i<4096)
{
dac_i++;
if(dac_i%512==0)//使得輸出波形為階梯狀
HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, dac_i);//設置DAC值為dac_i
}
else
dac_i=0;
}
/* USER CODE END 3 */
結果演示
因為是輸出為階梯狀,每變量每增加512,電壓改變一次,故應該有8個階梯,分別是0,512,1024,1536,2048,2560,3072,3584。
審核編輯:湯梓紅
-
dac
+關注
關注
43文章
2309瀏覽量
191569 -
stm32cubemx
+關注
關注
5文章
284瀏覽量
15005 -
雅特力
+關注
關注
0文章
168瀏覽量
8142
發布評論請先 登錄
相關推薦
為什么stm32f103vgt6的flash只能檢測到512k?
STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,雙串口通過DMA方式接收不定長數據
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓
STM32F103VET6更換為STM32F103VGT6后不能啟動
AT32F403ZGT6取代STM32F103VET6相同點
為什么stm32f103vgt6的flash只能檢測到512k?
STM32CubeMX Nucleo F767ZI 教程(2)
![<b class='flag-5'>STM32CubeMX</b> Nucleo <b class='flag-5'>F</b>767ZI 教程(2)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用STM32CubeMX對F407ZGT6移植LWIP(全網最全)
![使用<b class='flag-5'>STM32CubeMX</b>對<b class='flag-5'>F407ZGT6</b><b class='flag-5'>移植</b>LWIP(全網最全)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32CUBEMX(6)--移植雅特力AT32F403AVGT7,雙串口通過DMA方式接收不定長數據
![<b class='flag-5'>STM32CUBEMX</b>(<b class='flag-5'>6</b>)--<b class='flag-5'>移植</b><b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F403AVGT7</b>,雙串口通過DMA方式接收不定長數據](https://file.elecfans.com/web2/M00/09/82/pYYBAGD13xOAPcNHAAJbvsKQ_E0491.png)
STM32CUBEMX開發GD32F303(4)----GPIO輸出模式,速率測試、開漏和輸出說明
![<b class='flag-5'>STM32CUBEMX</b>開發GD32<b class='flag-5'>F</b>303(4)----GPIO<b class='flag-5'>輸出</b>模式,速率測試、開漏和<b class='flag-5'>輸出</b>說明](https://file.elecfans.com/web2/M00/7D/B1/pYYBAGN9lquADVPRAAdK0uCRbS8927.jpg)
評論