STM32學習筆記——DAC

來源:互聯網
上載者:User

標籤:

1.概述STM32DAC

2.STM32F407庫函數總結

3.輸出類比電壓配置過程

 

 

 

 

---------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------

1.概述STM32DAC

-12位元字輸入電壓輸出(8/12對齊可程式化)

-支援DMA

-資料是由DAC_DHRX寄存器經過一個或三個APB1刻度後傳入DAC_DORX,不可以對DAC_DORX寄存器操作,再經過T(和電源電壓,類比輸出負載有關。典型3u,最大6u)後輸出有效,1/T可知最大的轉換速度為333KHZ左右

-DACx_OUT=Vref*DORx/4095.

-觸發方式可選(軟體或者硬體觸發,其中硬體觸發又包括定時器和外部中斷倆大類)

-有雜訊產生和三角波產生功能(需要使能觸發)

-雙DAC通道轉換功能

2.STM32F407庫函數總結

/* Function used to set the DAC configuration to the default reset state *****/
void DAC_DeInit(void);

/* DAC channels configuration: trigger, output buffer, data format functions */
void DAC_Init(uint32_t DAC_Channel, DAC_InitTypeDef* DAC_InitStruct);
void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct);
void DAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState);
void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState);軟體出發使能函數
void DAC_DualSoftwareTriggerCmd(FunctionalState NewState);
void DAC_WaveGenerationCmd(uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState);
void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data);
void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data);
void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1);設定多通道資料
uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel);

/* DMA management functions ***************************************************/
void DAC_DMACmd(uint32_t DAC_Channel, FunctionalState NewState);

/* Interrupts and flags management functions **********************************/
void DAC_ITConfig(uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState);
FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG);
void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG);
ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT);
void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT);

3.輸出類比電壓配置過程

(1)開啟PA時鐘設定PA4為類比輸入,GPIO時鐘線AHB1,STM32中複用DAC_OUT1/2分別複用為PA4/5

(2)使能DAC時鐘,時鐘線為APB1

(3)初始化DAC,DAC_Init();包含以下參數 

     .DAC_LFSRUnmask_TriangleAmplitude=設定屏蔽和幅值選取器(做波形發生器時使用)
     .DAC_OutputBuffer=輸出緩衝一般不用
     .DAC_Trigger=是否使用觸發功能
     .DAC_WaveGeneration=是否使用波形發生(三角和雜訊波)

(4)使能DAC,DAC_CMD();

(5)設定DACx輸出值:DAC_Setchannle1Data()

(6)讀取DAC:DAC_GetDataoutputValue();

 

STM32學習筆記——DAC

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.