你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
对H747的D1、D2、D3域的划分比较疑惑。
第一个问题:D1、D2、D3域分别包含哪些外设?在手册中没有交代,不知道怎么划分。
第二个问题:如果想设置D2域进入STOP模式,是不是必须从M4内核调用HAL_PWREx_EnterStopMode();,而不是从M7内核调用。(从测试现象来看,该函数必须放在M4内核才能进STOP)。
麻烦大佬们指点一下,感谢!
举报
一、D1/D2/D3 域的外设“地图” (只要记住“总线矩阵”就能自己推出任何外设归属,手册里不再单独列表)
一句话记忆: “看外设挂在哪条总线——AHB3/APB3 属 D1,AHB1/2/APB1/2 属 D2,AHB4/APB4 属 D3”。
二、D2 进入 Stop 模式到底由谁发起?
PWR->CR1
SVOS
LPDS
PWR->CPUCR
PDDS_D2
HAL_PWREx_EnterSTOPMode(PWR_REGULATOR_STOP, PWR_STOPENTRY_WFI)
HAL_PWREx_EnterSTOPMode(PWR_REGULATOR_STOP, PWR_STOPENTRY_WFI, PWR_D2_DOMAIN)
结论速览
HAL_PWREx_EnterSTOPMode(..., PWR_D2_DOMAIN)
关于H750VB的SDMMC开启DMA读写SD卡
stm32h745 调试问题
FDCAN如何处理大于64帧字节的数据
天气很凉爽
FLM算法文件工程代码需要特别注意什么吗?
STM32H7电源问题
串口+DMA发数据
STM32H723FDCANT通信
STM32H725内部FLASH读写问题
关于NAND FLASH加LittleFS的方案
一、D1/D2/D3 域的外设“地图” (只要记住“总线矩阵”就能自己推出任何外设归属,手册里不再单独列表)
一句话记忆: “看外设挂在哪条总线——AHB3/APB3 属 D1,AHB1/2/APB1/2 属 D2,AHB4/APB4 属 D3”。
二、D2 进入 Stop 模式到底由谁发起?
PWR->CR1中的SVOS级和LPDS位,以及PWR->CPUCR中的PDDS_D2位。 这些寄存器物理上位于 D3 域(PWR 大部分寄存器归属 D3),因此任何总线主机(M7 或 M4)只要还能访问 D3 域,就可以写它们 。HAL_PWREx_EnterSTOPMode(PWR_REGULATOR_STOP, PWR_STOPENTRY_WFI)// 旧版,仅设置 D1 域HAL_PWREx_EnterSTOPMode(PWR_REGULATOR_STOP, PWR_STOPENTRY_WFI, PWR_D2_DOMAIN)// H7 双核新增,可指定 D1/D2/D3 在 stm32h7xx_hal_pwr_ex.h 里可以看到原型。 因此从 M7 也可以直接让 D2 进 Stop ,只要调用带域参数的扩展版即可。结论速览
HAL_PWREx_EnterSTOPMode(..., PWR_D2_DOMAIN),不必非得从 M4 发起。2. 手册上没看到是必须的,只是进入stop 的模式或条件多一点,在库函数里也分M7 和 M4的例程,可以参考一下。