本帖最后由 新下级学 于 2021-2-27 13:42 编辑
问题解决了,要使能 RCC_APB1ENR 的 PWR 位。手册里竟然没说!
========================================
电路如下图。
代码是这样:
main()
{
PWR->CR |= PWR_CR_PLS; //111: 2.9V
PWR->CR |= PWR_CR_PVDE;
while (1)
{
if ((PWR->CSR & PWR_CSR_PVDO) != 0)
GPIOB->ODR &= 0xfffE;
else
GPIOB->ODR |= 0x1;
}
}
意思就是不断检查 PWR_CSR 的 PVDO,当 电压 低于 2.9V 就点亮 LED。
但我反复调 电位器,LED 都不亮。因为只有 STLINK,所以没法在线调试。但 LED 亮、灭的代码单独验证过,所以肯定是 PVD 部分的问题。
请问怎么回事,谢谢!
|