21ic问答首页 - HC32F460低功耗的问题
HC32F460低功耗的问题
松雅湖阿辉2023-12-10
问题描述:在官方的掉电模式程序的基础上修改好后,板子的功耗是正常的。由于要使用CAN进行通信,在端口配置中将端口复用为CAN端口,CAN的初始化的程序都没有写。HC32F460进入掉电模式后功耗却没有下降。我将端口复用的这两端程序删除,低功耗又正常了。后来我在进入低功耗以前将这两个端口配置为输出端口,进入掉电模式后功耗还是没有下降。请教各位大神:有没有遇到这个问题,要如何设置?
增加的端口复用代码如下:
GPIO_SetFunc(GPIO_PORT_E, GPIO_PIN_05, GPIO_FUNC_50);//CAN-TXD
GPIO_SetFunc(GPIO_PORT_E, GPIO_PIN_06, GPIO_FUNC_51);//CAN-RXD
端口配置为输出端口:
stc_gpio_init_t stcGpioInit;
/* CAN-TXD GPIO_PORT_E, GPIO_PIN_05 */
(void)GPIO_StructInit(&stcGpioInit);
stcGpioInit.u16PinDir = PIN_DIR_OUT;
stcGpioInit.u16PinAttr = PIN_ATTR_DIGITAL;
(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_05, &stcGpioInit);
/* CAN-RXD GPIO_PORT_E, GPIO_PIN_06 */
(void)GPIO_StructInit(&stcGpioInit);
stcGpioInit.u16PinDir = PIN_DIR_OUT;
stcGpioInit.u16PinAttr = PIN_ATTR_DIGITAL;
(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_06, &stcGpioInit);
增加的端口复用代码如下:
GPIO_SetFunc(GPIO_PORT_E, GPIO_PIN_05, GPIO_FUNC_50);//CAN-TXD
GPIO_SetFunc(GPIO_PORT_E, GPIO_PIN_06, GPIO_FUNC_51);//CAN-RXD
端口配置为输出端口:
stc_gpio_init_t stcGpioInit;
/* CAN-TXD GPIO_PORT_E, GPIO_PIN_05 */
(void)GPIO_StructInit(&stcGpioInit);
stcGpioInit.u16PinDir = PIN_DIR_OUT;
stcGpioInit.u16PinAttr = PIN_ATTR_DIGITAL;
(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_05, &stcGpioInit);
/* CAN-RXD GPIO_PORT_E, GPIO_PIN_06 */
(void)GPIO_StructInit(&stcGpioInit);
stcGpioInit.u16PinDir = PIN_DIR_OUT;
stcGpioInit.u16PinAttr = PIN_ATTR_DIGITAL;
(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_06, &stcGpioInit);
赞0
也就是你以为你的代码进入了掉电模式,其实程序应该都没有进到掉电模式。
评论
2023-12-11
您需要登录后才可以回复 登录 | 注册