
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
23-4
23-4
23-4
23-4
23-4