nrf52832之GPIOTE

GPIOTE模块


gpio无法把输入设置为中断触发,gpiote则可以。gpiote有8个通道,每个通道可以分配给1个引脚,此引脚可以是任务模式或者事件模式

gpiote任务模式可以置位,清零,翻转io,优先级从高到低,假如同时发生的情况下
gpiote事件模式可以上升沿,下降沿,任意边沿触发,优先级从高到低

port事件可以唤醒系统,上升沿,下降沿,电平变化都可以触发。配置流程:先禁止,配置,清标志位,使能,目的是怕产生误触发。

输入可以设置高精度,低精度/低功耗
高精度:1个通道检测一个gpio,需要高频时钟
低精度:port事件

注意:通道是程序自动分配的,无法在程序里面指定通道,如果通道用完了则返回错误码。看函数解释就知道了

先nrf_drv_gpiote_init()初始化gpiote模块,配置引脚,指定初始值和动作(这一步如果没有绑定到任务输出,则仍然按照GPIO访问),nrf_drv_gpiote_out_init(),最后通过nrf_drv_gpiote_out_task_enable(),否则触发任务无效(只能通过nrfx_gpiote_out_toggle访问),有效之后则可以nrf_drv_gpiote_set_task_trigger访问

你可能感兴趣的:(nrf52832裸机)