最近在用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_CSR寄存器说明
就是VREF的时钟
正常情况下,使用CubuMX配置好VREFBUF后,没有函数会打开VREF时钟,所以内部VREFBUF不能工作,相关的寄存器就始终是0x0000 0000.
只需要在初始化代码里打开VREF的时钟,即调用__HAL_RCC_VREF_CLK_ENABLE(),时钟打开后,VREFBUF相关的寄存器就可以正常配置了,VREFBUF也能提供基准电压了。
就是VREF的时钟
正常情况下,使用CubuMX配置好VREFBUF后,没有函数会打开VREF时钟,所以内部VREFBUF不能工作,相关的寄存器就始终是0x0000 0000.
只需要在初始化代码里打开VREF的时钟,即调用__HAL_RCC_VREF_CLK_ENABLE(),时钟打开后,VREFBUF相关的寄存器就可以正常配置了,VREFBUF也能提供基准电压了。