GPIOTE 具有任务模式,任务模式就是输出模式。如果把 GPIO 管脚绑定了 GPIOTE 通道后,
把它配置为任务模式,则可以实现输出功能。任务模式的使用不是孤立的,一般都是由事件来触发
任务,如果在事件和任务中间架设一个通道,也就是后面会将的 PPI ,那么整个过程不需要 CPU 参与了,大大节省 mcu 的资源。本例首先简单的演示下任务是如何输出的,我们用输出端口来控制一个 LED 灯,完成我们输出的功能。
首先是 GPIOTE 任务初始化,我们初始化两个 GPIOTE 通道。初始化首先首先设置通道
CONFIG[0] .PSEL 域设置绑定 GPIO 的 13 管脚, CONFIG[1] .PSEL 域设置绑定 GPIO 的 14 管脚; 再设置两个通道的 CONFIG.MODE 域设置 GPIOTE 为 Task 任务模式;再来设置 CONFIG.POLARITY 域中设置 OUT[0] 任务输出为翻转电平, OUT[1] 任务输出为低电平。具体代码如下所示:
void GPIOTE_TASK_Init(void) { NVIC_EnableIRQ(GPIOTE_IRQn);//中断嵌套设置 NRF_GPIOTE->CONFIG[0] = (GPIOTE_CONFIG_POLARITY_Toggle << GPIOTE_CONFIG_POLARITY_Pos) | (GPIOTE0 << GPIOTE_CONFIG_PSEL_





没有回复内容