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

STM32H743II芯片VREFBUF配置问题

[复制链接]
li4671 提问时间:2019-8-2 20:51 /
悬赏1ST金币未解决
最近在用STM32H743IIT6做东西,需要用到Vref+引脚输出参考电压。

按照手册中的说明,对VREFBUF_CSR寄存器进行配置的时候,VREFBUF_CSR寄存器的值始终是0x00000000.
看论坛中有别人也遇见过类似的问题,但是讨论到最后仍然没有解决掉,所以我再来问一下。

我想用VREFBUF通过Vref+引脚输出电压。
手册中相关的内容如下:



单片机上电之后,VREFBUF_CSR寄存器的值不是默认值(0x0000 0002),上电之后直接变成0x0000 0000.
我需要配置成0x0000 0001,但是不管是用代码操作,还是Debug直接操作,VREFBUF_CSR寄存器的值始终是0x0000 0000.

我的VDDA供电3.3V,满足手册中的要求。

跪求各位大神提供解决思路~~



VREFBUF 功能说明

VREFBUF 功能说明

VREFBUF_CSR寄存器说明

VREFBUF_CSR寄存器说明
收藏 评论3 发布时间:2019-8-2 20:51

举报

3个回答
li4671 最优答案 回答时间:2019-8-3 00:24:00
经过一天的探索,发现了一个神奇的东西——__HAL_RCC_VREF_CLK_ENABLE()
就是VREF的时钟

正常情况下,使用CubuMX配置好VREFBUF后,没有函数会打开VREF时钟,所以内部VREFBUF不能工作,相关的寄存器就始终是0x0000 0000.
只需要在初始化代码里打开VREF的时钟,即调用__HAL_RCC_VREF_CLK_ENABLE(),时钟打开后,VREFBUF相关的寄存器就可以正常配置了,VREFBUF也能提供基准电压了。
li4671 回答时间:2019-8-3 16:12:39
经过一天的探索,发现了一个神奇的东西——__HAL_RCC_VREF_CLK_ENABLE()
就是VREF的时钟

正常情况下,使用CubuMX配置好VREFBUF后,没有函数会打开VREF时钟,所以内部VREFBUF不能工作,相关的寄存器就始终是0x0000 0000.
只需要在初始化代码里打开VREF的时钟,即调用__HAL_RCC_VREF_CLK_ENABLE(),时钟打开后,VREFBUF相关的寄存器就可以正常配置了,VREFBUF也能提供基准电压了。
butterflyspring 回答时间:2019-9-16 15:02:08
这些外设都有一个时钟开关,通过这样的函数打开这个开关,外设有了数字时钟就可以工作了。包括GPIO都有相应的时钟的
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版