|
前兩天做電源題,需要輸出固定電壓,上網(wǎng)查了下資料,然后自己用STM32寫(xiě)了個(gè)DAC輸出固定電壓的程序
希望跟大家一起分享學(xué)習(xí)一下。如果有什么錯(cuò)誤還請(qǐng)糾正。
用的是STM32F103RC,PA4和PA5口
單片機(jī)源程序如下:
- /******************************************
- 這是DAC輸出波形的測(cè)試程序
- 用于測(cè)試 輸出三角波以及鋸齒波等任意波形
- 這是其對(duì)應(yīng)的.c文件,用于定義一些函數(shù)等內(nèi)容
- *******************************************/
- #include "DAC.h"
- /*************************************************
- 函數(shù):static void DAC_Config(void)
- 功能:DAC以及GPIO的初始化配置
- 返回值:無(wú)
- 參數(shù):無(wú)
- 備注:無(wú)
- **************************************************/
- static void DAC_Config(void)
- {
- DAC_InitTypeDef DAC_InitStructure;
- GPIO_InitTypeDef GPIO_InitStructure;
-
-
- DAC_GPIO_PeriphClkCmd( DAC_GPIO_CLK,ENABLE);
- //GPIO結(jié)構(gòu)體初始化配置
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 ;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN ;
-
- GPIO_Init(GPIOA ,&GPIO_InitStructure);
-
- //開(kāi)啟DAC對(duì)應(yīng)的時(shí)鐘
- DAC_PeriphClkCmd(DAC_CLK ,ENABLE);
-
- DAC_InitStructure.DAC_Trigger = DAC_Trigger_None ;
- DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None ;
- /************************波形發(fā)生器的時(shí)候才會(huì)用到**********************************/
- DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0;
- /**********************************************************************************/
- DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable ;
-
- DAC_Init(DAC_Channel_1 ,&DAC_InitStructure);
- DAC_Init(DAC_Channel_2 ,&DAC_InitStructure);
-
- DAC_Cmd(DAC_Channel_1, ENABLE);
- DAC_Cmd(DAC_Channel_2, ENABLE);
-
-
- }
- /******************************
- 函數(shù):void DAC_Mode_Init(void)
- 功能:實(shí)現(xiàn)各類(lèi)函數(shù)的初始化
- 返回值:無(wú)
- 參數(shù):無(wú)
- 備注:無(wú)
- *******************************/
- void DAC_fixation_Init(void)
- {
- DAC_Config();
- }
復(fù)制代碼
所有資料51hei提供下載:
程序.7z
(173.85 KB, 下載次數(shù): 23)
2019-7-31 22:45 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|