STM32H750 DA无输出调试记录 |
您所在的位置:网站首页 › 3325hd010ab0没有电流输出 › STM32H750 DA无输出调试记录 |
最近做项目需要用到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 |