nrf_gpio_cfg_input(BATT_5V_IN_PIN, NRF_GPIO_PIN_NOPULL); nrf_gpio_pin_sense_t sense = NRF_GPIO_PIN_SENSE_HIGH; nrf_gpio_cfg_sense_set(BATT_5V_IN_PIN,sense); device_mode_factory_t *p_mode = (device_mode_factory_t *)store_driver_get(STORE_DATA_ID_MODE_STATUS); if(p_mode->f1 != SYSTEM_MODE_SHIPP) { nrf_gpio_cfg_input(TOUCH_KEY_UP_PIN, NRF_GPIO_PIN_PULLUP); sense = NRF_GPIO_PIN_SENSE_LOW; nrf_gpio_cfg_sense_set(TOUCH_KEY_UP_PIN,sense); nrf_gpio_cfg_input(TOUCH_KEY_DOWN_PIN, NRF_GPIO_PIN_PULLUP); sense = NRF_GPIO_PIN_SENSE_LOW; nrf_gpio_cfg_sense_set(TOUCH_KEY_DOWN_PIN,sense); } else { BATT_MODULE_PRINT("SYSTEM_MODE_SHIPP = %d\r\n",p_mode->f1); }
时间: 2023-08-19 22:04:40 浏览: 258
nordic开发要安装的nRF_DeviceFamilyPack20220105 152657.7z
这段代码主要是用于配置nRF52系列芯片的GPIO引脚,并且根据设备模式(p_mode->f1)来设置触摸按键引脚的输入模式和中断触发方式。
首先,使用nrf_gpio_cfg_input()函数将BATT_5V_IN_PIN引脚配置为输入模式且无上下拉电阻。
然后,将sense变量设置为NRF_GPIO_PIN_SENSE_HIGH,使用nrf_gpio_cfg_sense_set()函数将BATT_5V_IN_PIN引脚的中断触发方式设置为高电平触发。
接着,从存储驱动器中获取设备模式(p_mode->f1),如果不是系统模式为SYSTEM_MODE_SHIPP,则将触摸按键引脚(TOUCH_KEY_UP_PIN和TOUCH_KEY_DOWN_PIN)配置为输入模式且上拉电阻,将sense变量设置为NRF_GPIO_PIN_SENSE_LOW,使用nrf_gpio_cfg_sense_set()函数将触摸按键引脚的中断触发方式设置为低电平触发。
最后,如果设备模式为SYSTEM_MODE_SHIPP,则打印一条调试信息。
阅读全文