问答

汇集网友智慧,解决技术难题

21ic问答首页 - HC32F460低功耗的问题

hc32f460 单片机 国产芯片 技术交流

HC32F460低功耗的问题

问题描述:在官方的掉电模式程序的基础上修改好后,板子的功耗是正常的。由于要使用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);
回答 +关注 6
1038人浏览 2人回答问题 分享 举报
2 个回答
  • 本身你的这段代码没啥问题,看描述出问题的最大可能是你没有解锁GPIO,导致程序进断言函数了,没有继续往下跑。
    也就是你以为你的代码进入了掉电模式,其实程序应该都没有进到掉电模式。

您需要登录后才可以回复 登录 | 注册