Pinout设置见截图23_4_1。Parameter settings和其他设置见图23_4_2~3。其他的默认设置即可。导出工程文件。
本例模拟输出锯齿波。先设置变量:
uint8_t ch=0xAb,dac1=0x10,dac2;
自定义函数声明中添加:
void dacTest(void);
在main中前边添加:
MX_DAC_Init();
和
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_8B_R,0xFF);
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_2,DAC_ALIGN_8B_R,0xFF);
HAL_DAC_Start(&hdac,DAC_CHANNEL_1);
HAL_DAC_Start(&hdac,DAC_CHANNEL_2);
修改printf语句为:
printf("ADC1=%4d ADC2=%4d ADC3=%4d DAC1=%3d,DAC2=%3d \n\r", adcx[0],adcx[1],adcx[2],dac1,dac2);
在循环中添加:
dacTest();
最后在main后边添加:
//DacTest
void dacTest(void){
if(dac1<0xFE)dac1++;else dac1=0x01;//PA_4,5
dac1++;dac2=0xFF-dac1;
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_8B_R,dac1);
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_2,DAC_ALIGN_8B_R,dac2);
}
因为DAT1,DAT2位互补输出,链接一只双向发光二极管,结果见照片23_4_4,波形见照片23_4_5。串口数据见图23_4_6。
|
23_4_1-两路DAC设置.jpg (195.54 KB, 下载次数: 1)
23-4
23_4_2-GPIO Settings.jpg (64.36 KB, 下载次数: 0)
23-4
23_4_3-DMA Settings.jpg (68.11 KB, 下载次数: 0)
23-4
23_4_4-两路DAT驱动双色LED.gif (523.57 KB, 下载次数: 0)
23-4
23_4_5-其中1路DAC的锯齿波.jpg (200.89 KB, 下载次数: 0)
23-4
23_4_6-串口得到的数据.jpg (143.97 KB, 下载次数: 0)
23-4
本文转载于[自设STM32F103VET6测试LCD]7、DAC输出
http://www.stmcu.org.cn/module/forum/thread-618948-1-1.html
|