你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
stmf32f051 dac 无论怎么配置 pa4都没有输出
[复制链接]
xxw-370311
提问时间:2017-12-12 19:27 /
阅读主题, 点击返回1楼
赞
0
收藏
2
评论
14
分享
发布时间:2017-12-12 19:27
请先
登录
后回复
14个回答
无薪税绵
回答时间:2018-3-1 10:23:53
a0a.1 32b0c
本帖最后由 无薪税绵 于 2018-3-1 11:13 编辑
看看 VDDA 和 VSSA 的电压是否正常。
void MyDAC_Init(void) //DAC channel1 Configuration
{
unsigned int tmpreg1=0,tmpreg2=0;
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB1ENR|=RCC_APB1Periph_DAC; //使能DAC时钟
GPIOA->CRL&=0XFF00FFFF;
GPIOA->CRL|=0X00440000; //PA4,5 浮空输入
tmpreg1=DAC->CR; //Get the DAC CR value
tmpreg1&=~(CR_CLEAR_Mask<<DAC_Channel_1); //Clear BOFFx, TENx, TSELx, WAVEx and MAMPx bits
tmpreg2=(DAC_Trigger_Software|DAC_WaveGeneration_None|DAC_LFSRUnmask_Bits8_0|DAC_OutputBuffer_Enable);
tmpreg1|=tmpreg2<<DAC_Channel_1; //Calculate CR register value depending on DAC_Channel
DAC->CR=tmpreg1; //Write to DAC CR
DAC->CR|=CR_EN_Set<<DAC_Channel_1; //DAC Channel1使能,PA4自动连接到DAC
DAC1_SetData(2900);
}
void DAC1_SetData(u16 data)
{
DAC->DHR12R1=data; //通道1的12位右对齐数据
DAC->SWTRIGR|=0x01; //软件启动转换
}
复制代码
再上个STM32F05X系列的参考代码:
STM32F05x系列Code.7z.rar
(967.94 KB, 下载次数: 5)
2018-3-1 11:12 上传
点击文件名下载附件
参考代码
请把扩展名改为.7z再解压。
DAC输出配置
评分
参与人数
1
蝴蝶豆
+4
收起
理由
zero99
+ 4
查看全部评分
赞
0
评论
回复
支持
反对
toofree
回答时间:2018-3-1 10:35:31
a0a.1 32b0c
本帖最后由 toofree 于 2018-3-1 10:40 编辑
刚看了STM32F0的固件库,DAC样例非常简单。只不过触发方式为 DAC_Trigger_None,初始化完成后,随时刷DAC_SetChannel1Data(DAC_Align_12b_R, ADCVal);,DAC立即输出。
总之,先跑个样例程序,排除管脚或其它硬件故障,然后再自己发挥。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
feixiang20
回答时间:2018-3-1 11:04:13
a0a.1 32b0c
可能是硬件连接异常,输出0的话,再检查下配置是否正确,不行的话,再去查官方资料DAC部分,尝试样例检测,再来对比DAC_Init(DAC_Channel_1, &dactype);DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,修改了看看对比下);DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
哈佛祖安智
回答时间:2018-3-1 17:13:59
a0a.1 32b0c
用HAL库的例程试试吧,标准库过时了
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
hello_bug
回答时间:2018-3-1 22:36:22
a0a.1 32b0c
DAC是复用功能吗,是否需要开启AFIO复用。另外就是DAC的配置是否正确,先看看官方例程吧。
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
1
2
/ 2 页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
看看 VDDA 和 VSSA 的电压是否正常。
再上个STM32F05X系列的参考代码:
参考代码
请把扩展名改为.7z再解压。
DAC输出配置
评分
查看全部评分
刚看了STM32F0的固件库,DAC样例非常简单。只不过触发方式为 DAC_Trigger_None,初始化完成后,随时刷DAC_SetChannel1Data(DAC_Align_12b_R, ADCVal);,DAC立即输出。
总之,先跑个样例程序,排除管脚或其它硬件故障,然后再自己发挥。
评分
查看全部评分
DAC_SetChannel1Data(DAC_Align_12b_R,修改了看看对比下);DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分