DA14681-01 休眠外部中断唤醒

Dialog:

我将da14681进入休眠后,用外部中断去唤醒。

工程是在PXP_reporter中添加了一个外部中断的任务,可是休眠后无法正常唤醒!

不知道有没有用外部中断来实现休眠和唤醒的案例借鉴下!

请指教!谢谢!!!

Parents
  • 你好!

    已经调通了!谢谢!

    再问个问题,在SUOTA模式下串口能正常工作吗?

  • 你好,我在DA14683上也遇到了同样的问题,请问你是怎么解决的呢?

  • Hi Justin,

    感谢你的提问。

    请问你的按键配置是否在外设初始化的时候进行了配置?

    Best regards,

    Qifan

  • 我在pm_system_init()里面初始化了用作中断和按键的gpio


  • /**
    * @brief Initialize the peripherals domain after power-up.
    *
    */
    static void periph_init(void)
    {
    # if dg_configBLACK_ORCA_MB_REV == BLACK_ORCA_MB_REV_D
    # define UART_TX_PORT HW_GPIO_PORT_1
    # define UART_TX_PIN HW_GPIO_PIN_3
    # define UART_RX_PORT HW_GPIO_PORT_2
    # define UART_RX_PIN HW_GPIO_PIN_3
    # else
    # error "Unknown value for dg_configBLACK_ORCA_MB_REV!"
    # endif


    hw_gpio_set_pin_function(UART_TX_PORT, UART_TX_PIN, HW_GPIO_MODE_OUTPUT,
    HW_GPIO_FUNC_UART_TX);
    hw_gpio_set_pin_function(UART_RX_PORT, UART_RX_PIN, HW_GPIO_MODE_INPUT,
    HW_GPIO_FUNC_UART_RX);

    /* Configure pin PIN_5 as a GPIO with output functionality.*/
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_3, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_GPIO, pin_status_flag);
    hw_gpio_configure_pin_power(3, 3, HW_GPIO_POWER_V33);
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_4, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_GPIO, 1);
    hw_gpio_configure_pin_power(3, 4, HW_GPIO_POWER_V33);
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_0, HW_GPIO_MODE_INPUT_PULLUP, HW_GPIO_FUNC_GPIO, true);
    hw_gpio_configure_pin_power(3, 0, HW_GPIO_POWER_V33);
    }

Reply

  • /**
    * @brief Initialize the peripherals domain after power-up.
    *
    */
    static void periph_init(void)
    {
    # if dg_configBLACK_ORCA_MB_REV == BLACK_ORCA_MB_REV_D
    # define UART_TX_PORT HW_GPIO_PORT_1
    # define UART_TX_PIN HW_GPIO_PIN_3
    # define UART_RX_PORT HW_GPIO_PORT_2
    # define UART_RX_PIN HW_GPIO_PIN_3
    # else
    # error "Unknown value for dg_configBLACK_ORCA_MB_REV!"
    # endif


    hw_gpio_set_pin_function(UART_TX_PORT, UART_TX_PIN, HW_GPIO_MODE_OUTPUT,
    HW_GPIO_FUNC_UART_TX);
    hw_gpio_set_pin_function(UART_RX_PORT, UART_RX_PIN, HW_GPIO_MODE_INPUT,
    HW_GPIO_FUNC_UART_RX);

    /* Configure pin PIN_5 as a GPIO with output functionality.*/
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_3, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_GPIO, pin_status_flag);
    hw_gpio_configure_pin_power(3, 3, HW_GPIO_POWER_V33);
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_4, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_GPIO, 1);
    hw_gpio_configure_pin_power(3, 4, HW_GPIO_POWER_V33);
    hw_gpio_configure_pin(HW_GPIO_PORT_3, HW_GPIO_PIN_0, HW_GPIO_MODE_INPUT_PULLUP, HW_GPIO_FUNC_GPIO, true);
    hw_gpio_configure_pin_power(3, 0, HW_GPIO_POWER_V33);
    }

Children