[STM32F1] 实验分享[自设STM32F103VET6测试LCD]7、DAC输出

[复制链接]
510|0
 楼主| 年轻的国王 发表于 2020-8-6 21:56 | 显示全部楼层 |阅读模式
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
102024an0tbaq6tk0nq9hk.jpg
23_4_2-GPIO Settings.jpg (64.36 KB, 下载次数: 0)

23-4
102024ltkerexky0z04dcc.jpg
23_4_3-DMA Settings.jpg (68.11 KB, 下载次数: 0)

23-4
102025rpvwmjqwfzp98dqk.jpg
23_4_4-两路DAT驱动双色LED.gif (523.57 KB, 下载次数: 0)

23-4
102027qthuk3tub5btz2hd.jpg
23_4_5-其中1路DAC的锯齿波.jpg (200.89 KB, 下载次数: 0)

23-4
102028gpcp29o2pp2ifwf2.jpg
23_4_6-串口得到的数据.jpg (143.97 KB, 下载次数: 0)

23-4
102029vnmpnctrhftfa4np.jpg

本文转载于[自设STM32F103VET6测试LCD]7、DAC输出
http://www.stmcu.org.cn/module/forum/thread-618948-1-1.html



您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都要开心呀

210

主题

505

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部