stm32_DAC可以用來輸出固定的電壓值,有些時候需要按鍵可調輸出的電壓值。其中一種方法是使用外部中斷EXTI9, 另外一種方法就是使用軟件觸發。
如果將DAC_InitTypeDef.DAC_Trigger設置為DAC_Trigger_None, 那么,不需要其他任何的觸發源,直接使用DAC_SetChannelxData(),就可以設定輸出電壓的大小。如果使用了軟件觸發,那么,每次在使用DAC_SetChannelxData()修改輸出電壓后,還需要調用DAC_SoftwareTriggerCmd(),目的是使能軟件觸發。由於:軟件觸發是硬件在一個APB1時鍾周期后自動關斷的,於是,每次修改輸出電壓的值后,都要調用DAC_SoftwareTriggerCmd()方法,才能生效。
下面是例子:(關鍵代碼)
1. DAC_Config(){
DAC_Trigger = DAV_Trigger_Software;
DAC_SetChannel1Data(DAC_Align_12b_R,1023);
}
main(){
DAC_SetChannel1Data(DAC_Align_12b_R,2047);
DAC_SoftwareTriggerCmd(DAC_Channel_1,ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,4095);
}
請問最終輸出的電壓是多少伏?(如果實在想不出答案的話,可以留言)
A. 3.3/4
B. 3.3/2
C. 3.3
2.將1題的DAC_Trigger_Sofeware 改為DAC_Trigger_None后,最后輸出的電壓是多少伏?