PHY6222 GPIO控制

一. 初始化设置

hal_gpio_pin_init(P17, GPIO_OUTPUT);
hal_gpio_write(P17, 1);

当GPIO配置GPIO输出时,当系统休眠后,GPIO输出信息将会丢失。如果想在系统休眠后,仍保持GPIO输出状态并保持输出的高低电平,需要使用GPIO retention功能。


hal_gpioretention_register(P17); //休眠后仍保持;
hal_gpio_write(P17, 1);

二. 设置中断

// 配置P16(hallSensor)为输入模式并注册回调函数
    hal_gpio_pin_init(P16, IE);
	hal_gpio_pull_set(P16, GPIO_PULL_UP);
    hal_gpioin_register(P16, p16_gpio_callback, p16_gpio_callback);

三.中断唤醒函数

// 回调函数,用于处理P16电平变化(hallSensor)
void p16_gpio_callback(gpio_pin_e pin, gpio_polarity_e type)
{
    LOG("P16 GPIO event: pin=%d, type=%d\n", pin, type);
	  // 退出睡眠模式
    LOG("Exiting sleep mode...\n");
    hal_pwrmgr_wakeup_process();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值