你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L152 DAC输出摆幅

[复制链接]
ZBug 提问时间:2015-11-27 10:16 /
本帖最后由 ZBug 于 2015-11-27 10:19 编辑

问题:                  STM32L152RC 在使用DAC时,最低电压总是到不了0V ,刚开始以为是自己板子问题,后来用discovery板子还是到不了0V。      
        比如我用是这个语句过后
        DAC_SetChannel1Data(DAC_Align_12b_R,2);

        输出为50mV,而且只有在DAC设定值大于某个值的时候,DAC的输出才随着DAC 寄存器的值增加而增加。

开发环境:STM32CUBE + KEIL + STM32L152RC discovery

请问板上的大神们有没有遇到这样的问题,烦请赐教,谢谢!


配置过程:void DAC_Config(void)
{
  /* Enable GPIOA clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  /* Configure PA.04 (DAC_OUT1) in analog mode -------------------------*/
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  /* Enable DAC clock */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
  /* DAC channel1 Configuration */
  DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;

  /* DAC Channel1 Init */
  DAC_Init(DAC_Channel_1, &DAC_InitStructure);
  /* Enable DAC Channel1 */
  DAC_Cmd(DAC_Channel_1, ENABLE);
}
配置好过后调用下面语句设置dac值:
        DAC_SetChannel1Data(DAC_Align_12b_R,2);






收藏 评论3 发布时间:2015-11-27 10:16

举报

3个回答
ZBug 回答时间:2015-11-27 10:33:35
自己顶一发
dwwzl 回答时间:2015-11-27 11:21:48
看看数据手册吧最好是datasheet原版
sfee2002 回答时间:2015-11-27 15:10:08
是 这样子,电压小 的 时候 输出不是线性,0.5v以上基本 能 线性,你可以试一下外部 基准。看能不能改善
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版