前兩天做電源題,需要輸出固定電壓,上網查了下資料,然后自己用STM32寫了個DAC輸出固定電壓的程序
希望跟大家一起分享學習一下。如果有什么錯誤還請糾正。
用的是STM32F103RC,PA4和PA5口
單片機源程序如下:
- /******************************************
- 這是DAC輸出波形的測試程序
- 用于測試 輸出三角波以及鋸齒波等任意波形
- 這是其對應的.c文件,用于定義一些函數等內容
- *******************************************/
- #include "DAC.h"
- /*************************************************
- 函數:static void DAC_Config(void)
- 功能:DAC以及GPIO的初始化配置
- 返回值:無
- 參數:無
- 備注:無
- **************************************************/
- static void DAC_Config(void)
- {
- DAC_InitTypeDef DAC_InitStructure;
- GPIO_InitTypeDef GPIO_InitStructure;
-
-
- DAC_GPIO_PeriphClkCmd( DAC_GPIO_CLK,ENABLE);
- //GPIO結構體初始化配置
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 ;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN ;
-
- GPIO_Init(GPIOA ,&GPIO_InitStructure);
-
- //開啟DAC對應的時鐘
- DAC_PeriphClkCmd(DAC_CLK ,ENABLE);
-
- DAC_InitStructure.DAC_Trigger = DAC_Trigger_None ;
- DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None ;
- /************************波形發生器的時候才會用到**********************************/
- 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);
-
-
- }
- /******************************
- 函數:void DAC_Mode_Init(void)
- 功能:實現各類函數的初始化
- 返回值:無
- 參數:無
- 備注:無
- *******************************/
- void DAC_fixation_Init(void)
- {
- DAC_Config();
- }
復制代碼
所有資料51hei提供下載:
程序.7z
(173.85 KB, 下載次數: 23)
2019-7-31 22:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|