nRF54L15将NFC引脚作为GPIO的方法
NCS3.1.1版本里,dts里默认将P1.02,P1.03作为NFCpin,这里需要在配置中去掉nfct的定义,同时还要修改uicr的内容。具体操作如下:
1.在prj.conf里增加如下内容:
/* 先禁用 NFC,释放 P1.02 / P1.03 */
&nfct {
status = "disabled";
};
&uicr {
nfct-pins-as-gpios;
};
/ {
/* 定义两个 GPIO 节点供 C 程序访问 */
gpio_test {
compatible = "gpio-leds";
mygpio1: mygpio1 {
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
mygpio2: mygpio2 {
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
};
};
aliases {
mygpio1 = &mygpio1;
mygpio2 = &mygpio2;
};
};
在测代码里可以如下测试:
const struct gpio_dt_spec mygpio1 = GPIO_DT_SPEC_GET(DT_ALIAS(mygpio1), gpios);
const struct gpio_dt_spec mygpio2 = GPIO_DT_SPEC_GET(DT_ALIAS(mygpio2), gpios);
int main(void)
{
int i;
printk("Starting GPIO scan...\n");
gpio_pin_configure_dt(&mygpio1, GPIO_OUTPUT);
gpio_pin_configure_dt(&mygpio2, GPIO_OUTPUT);
while (1) {
gpio_pin_toggle_dt(&mygpio1);
gpio_pin_toggle_dt(&mygpio2);
k_msleep(500);
}
}