PD5高低电平检测
-
attribute((section("ram_code"))) void pmu_gpio_isr_ram(void)
{
// 读取当前GPIO状态和历史状态
uint32_t current_gpio = ool_read32(PMU_REG_GPIOD_V);
uint32_t last_gpio = ool_read32(PMU_REG_PORTD_LAST);// 检测哪些引脚发生了变化 uint32_t changed_pins = current_gpio ^ last_gpio; // 检查PD5(第5位)是否发生变化 if (changed_pins & (1 << 5)) { // 获取PD5当前状态 uint8_t pd5_current_state = (current_gpio >> 5) & 0x01; uint8_t pd5_last_state = (last_gpio >> 5) & 0x01; uint8_t fam[1]={1}; // 检测持续高电平(电平触发模式) if (pd5_current_state == 1) { co_printf("high-level trigger\r\n"); uart_put_data_noint(UART0,fam,1); gap_security_param_t param = { .mitm = false, // dont use PIN code during bonding .ble_secure_conn = false, //not enable security encryption .io_cap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT, //ble device has neither output nor input ability, .pair_init_mode = GAP_PAIRING_MODE_WAIT_FOR_REQ, //need bond .bond_auth = true, //need bond auth .password = 0, }; gap_security_param_init(¶m); os_timer_start(&ker_timer, 60000, 0); // 60s延迟 } } // 更新历史记录 ool_write32(PMU_REG_PORTD_LAST, current_gpio);}我的这个检测pd高低电平的有什么问题吗,在HA的测试板上能正常检测,但是换成HB的芯片加了按钮之后,上电就一直触发高电平事件,初始化配置是这样的

-
@ccc 要做什么功能