OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2230|回复: 2

DAC初始化问题

[复制链接]

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2014-1-25
在线时间
10 小时
发表于 2017-7-8 22:16:47 | 显示全部楼层 |阅读模式
1金钱
例说STM32   DAC实验
         DAC->CR|=0<<2;//不使用触发功能
这里用的按位或运算,前面也并没有对寄存器完全清零的操作,能保证第二位被清除为么? 假如原来第二位就是1呢,那么清不了零吧,有点看不懂?
        DAC->CR|=0<<3;//DAC TIM6 TRG0,不过要TEN=1才行
        DAC->CR|=0<<6;//不使用波形发生
        DAC->CR|=0<<8;//屏蔽\幅值设置
        DAC->CR|=0<<12;//DAC1不使能DMA

这几项也是一样的问题

最佳答案

查看完整内容[请看2#楼]

芯片复位后,这些位应该都是0,注释掉这些语句,我猜程序依然能够正常运行。我的意思是,这段代码不太严谨,你如果在初始化函数之前,用语句:DAC->CR|=1
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-7-12
在线时间
35 小时
发表于 2017-7-8 22:16:48 | 显示全部楼层
卢飞跃 发表于 2017-7-11 04:18
你说的对,单独这样设置并不能保证一定为0, 我想这些位的复位值应该都是0吧,我猜把这些语句注释掉,程序 ...

芯片复位后,这些位应该都是0,注释掉这些语句,我猜程序依然能够正常运行。我的意思是,这段代码不太严谨,你如果在初始化函数之前,用语句:DAC->CR|=1<<2;将第二位置1,估计程序就不能运行了。
总之,
我觉得做这两个实验就够了:
1、将那些用或运算清零的语句注释掉,看程序是否正常运行。
2、在初始化DAC之前,,用语句:DAC->CR|=1<<2;将第二位置1,看程序是否正常运行,如果不正常了,说明程序不严谨。
回复

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-7-12
在线时间
35 小时
发表于 2017-7-11 04:18:12 | 显示全部楼层
你说的对,单独这样设置并不能保证一定为0, 我想这些位的复位值应该都是0吧,我猜把这些语句注释掉,程序应该也可以正常运行。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-18 15:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表