STM32H750 DA无输出调试记录

您所在的位置:网站首页 3325hd010ab0没有电流输出 STM32H750 DA无输出调试记录

STM32H750 DA无输出调试记录

2024-07-16 04:47| 来源: 网络整理| 查看: 265

最近做项目需要用到STM32H750自带的DA输出功能,程序写的差不多后发现DA没有输出,于是用STM32CUBEMX生成了一个只有DA输出的代码。

开始用的DMA输出,无电压,于是改成直接输出,就两句话的事情,竟然也没有输出,无语了。

..............略

  MX_DAC1_Init(); //DA初始化   HAL_DAC_Start(&hdac1,DAC_CHANNEL_1);//先启动DA   while (1)   {         HAL_Delay(1);         HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_R,2048);

       //利用该函数设置输出值,4096对应3.3V,0对应0V   } }

这份代码非常简单,初始化DA后,启动DA输出,然后设置输出值,用示波器测量基本没反应,测量输出电压非常小(2048应该输出1.6V左右).

下面是我的调试步骤:

步骤1:看了一下代码应该没错,我的DA输出是通过PA4引脚,我的PA4引脚输出后连接运放等一系列电路,于是我将PA4引脚隔离开(PA4和后续电路断开),然后测量PA4输出电压,发现几乎没变化,看来不是后面的负载造成的电压降低。步骤2:接下来用Debug调试,调试前建议先把芯片DAC寄存器这一块好好学一编,然后可以根据寄存器情况判断。我有一块h750的开发版,同样的程序单步调试有电压输出。单步调试的时候要看DAC的寄存器,我的DAC寄存器看着也正常,程序可以正常执行(不会卡在某个地方)数据可以正常输入和转移。

我配置的是DAC1通道,ENX调试可以自动置1

数据可以存入DAC_DHR12R1寄存器

 数据可以从DHR转入DOR寄存器中(到这里感觉没啥问题呀,就是没输出)

步骤3:虽然PA4输出值低的离谱,我还是试着改变HAL_DAC_SetValue函数值,从0-4096,看看输出电压是否有变化。现象如下: Vlaue值PA4测试电压参考值00.0006V0V5000.0397V略10000.0513V略15000.0606V略20000.0875V略25000.1183V略30000.1776V略35000.3347V略40000.9636V略40950.1997v3.3V     

可以看到DA输出是可以随着设置值改变的,但是输出值远打不到参考值。

步骤4:再次检查程序,感觉不是软件的事情,突然想到还有一个地方没有测试,那就是DA的电压参考值:VERF+ .这个引脚应该是3.3V,我拿开发版实测是3.3V,而我的项目板只有0.4V。

这个地方电压表实测,3.3v供电没有给过来,经检查有个地方虚焊,重新焊接后VERF+恢复3.3V,然后测PA4,设置2048输出1.6V,4095输出3.3V,终于调试成功。

寄存器资料:http://链接:https://pan.baidu.com/s/1b6TpRD9z9U7c6Yg10UpzHQ 提取码:kb24 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3