Pinout设置见截图23_4_1。Parameter settings和其他设置见图23_4_2~3。其他的默认设置即可。导出工程文件。 本例模拟输出锯齿波。先设置变量:* _2 ]/ Q I3 P- A! n uint8_t ch=0xAb,dac1=0x10,dac2;% i' J' \' j( o5 J 自定义函数声明中添加: void dacTest(void); 在main中前边添加:* `; t9 N4 n" @. o! d MX_DAC_Init(); 和7 Z4 i9 k+ B/ a7 s- P HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_8B_R,0xFF);& o6 \4 g; w' ?; k9 b7 H2 C HAL_DAC_SetValue(&hdac,DAC_CHANNEL_2,DAC_ALIGN_8B_R,0xFF); HAL_DAC_Start(&hdac,DAC_CHANNEL_1); ?) z9 P8 M# M' R( { HAL_DAC_Start(&hdac,DAC_CHANNEL_2);3 E) s G' U5 _ 修改printf语句为:- W1 b+ g5 U( g, j printf("ADC1=%4d ADC2=%4d ADC3=%4d DAC1=%3d,DAC2=%3d \n\r", adcx[0],adcx[1],adcx[2],dac1,dac2); 在循环中添加: dacTest();% R. m0 ?3 i) @4 F 最后在main后边添加: //DacTest void dacTest(void){ if(dac1<0xFE)dac1++;else dac1=0x01;//PA_4,5 dac1++;dac2=0xFF-dac1;; |( W+ W# `, r z; `5 ~ HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_8B_R,dac1);7 N# F3 [' G' d) O. h' q9 U 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
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32固件库分享,超全系列整理
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
基于STM32F1的CAN通信之之串口IAP