打印
[资料干货]

CH579M唤醒

[复制链接]
173|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丙丁先生|  楼主 | 2024-10-10 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <stdint.h>


// 假设GPIOA的第6位和第5位引脚对应的是PA6和PA5

#define GPIO_PIN_PA6 6

#define GPIO_PIN_PA5 5


void GPIO_Init(void) {

    // 初始化GPIOA的第6位和第5位引脚为输入模式

    // 这里假设使用了某种特定的库函数来完成初始化

    GPIO_PinModeSet(GPIOA, GPIO_PIN_PA6, GPIO_MODE_INPUT);

    GPIO_PinModeSet(GPIOA, GPIO_PIN_PA5, GPIO_MODE_INPUT);

}


void GPIO_InterruptHandler(void) {

    // 检查GPIOA的第6位和第5位引脚是否产生了中断

    if (GPIO_IntStatus(GPIOA, true) & (1 << GPIO_PIN_PA6)) {

        // 在这里执行唤醒系统或其他操作

        // ...

    }

    if (GPIO_IntStatus(GPIOA, true) & (1 << GPIO_PIN_PA5)) {

        // 在这里执行唤醒系统或其他操作

        // ...

    }

    // 清除中断标志

    GPIO_IntClear(GPIOA, (1 << GPIO_PIN_PA6) | (1 << GPIO_PIN_PA5));

}


int main(void) {

    // 初始化GPIO并配置中断

    GPIO_Init();

    // 注册中断处理程序

    NVIC_EnableIRQ(GPIO_IRQn);

    // 进入主循环

    while (1) {

        // 主循环中的其他任务

        // ...

    }

}

烧录程序后PA6与GND短时间接触,移开可以看到串口助手的Uart输出Wake(唤醒)

PM.rar

用这个下载,短接BOOT到GND,烧录完断开,



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

546

主题

1866

帖子

5

粉丝