野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12881|回复: 3

求助DAC无输出的问题

[复制链接]
发表于 2016-10-31 15:28:07 | 显示全部楼层 |阅读模式
程序并不复杂,就是收到串口命令DAC输出特定的波形,但是DAC经常无输出,重启无效,必须重新烧录代码才可恢复,请问这有可能是什么错误导致的?
回复

使用道具 举报

 楼主| 发表于 2016-10-31 16:18:43 | 显示全部楼层
问题补充及解决:烧录后第一次运行,DAC正常,期间不管怎样进入退出调试模式,复位,都没问题,但只要一断电再上电,DAC就不行了,必须重新烧录。
初步找到了表层原因,我在定义DAC配置结构体前加了一个static,即
static DAC_InitTypeDef DAC_InitStructure;
就解决了这个问题。但是我想不通具体的原因,代码里没有任何写flash的操作,堆栈也给的够大。
难道库函数有bug.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-31 18:03:36 | 显示全部楼层
终于找到具体原因了:
DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude 因为完全不了解这是干啥的,这一项没有配置。DAC_InitStructure在栈上,数值是随机的,所以会导致DAC异常。用static把变量固定在静态区,所以能解决这个问题,但不是一个合适的方法,还是要加上这一句配置。
各位注意了。
回复 支持 反对

使用道具 举报

发表于 2016-11-1 08:48:19 | 显示全部楼层
原来如此,之前我写F4的DAC例程也是这样,感觉好奇怪,只能把它放到全局变量里才正常,
F1倒是没有这个问题
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 06:59 , Processed in 0.029277 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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