新闻| 论坛| 博客| 在线研讨会
裸机PPI
电子禅石| 2017-09-01 19:26:19 阅读:8619 发布文章

#include "nrf51.h" #include "nrf_gpio.h" #define LED (22) #define BUTTON (18) int main(void){ nrf_gpio_cfg_input(BUTTON, NRF_GPIO_PIN_PULLUP); NRF_GPIOTE->CONFIG[0] = ( 3 << 0 ) | ( LED << 8) | ( 3 << 16 ) | ( 1 << 20); NRF_GPIOTE->CONFIG[1] = ( 1 << 0 ) | ( BUTTON << 8) | ( 2 << 16 ); //将 GPIOTE通道 1 绑定到 PPI 通道 0 的event 输入端。 //将 GPIOTE通道 0 绑定到 PPI 通道 0 的task 端 //因为 GPIOTE通道 1和0 已经分别绑定到button和led,并且对应设置为了 event和task。 //所以当button被按下(产生下降沿)的时候,会产生event事件输入给 ppi通道0的 事件输入端,然后ppi 0的task端就会自动被触发,即led电平翻转 NRF_PPI->CH[0].EEP = (uint32_t)(&NRF_GPIOTE->EVENTS_IN[1]); NRF_PPI->CH[0].TEP = (uint32_t)(&NRF_GPIOTE->TASKS_OUT[0]); //注意,这里赋值要取地址 //使能PPI通道 0 NRF_PPI->CHENSET = 0x01; while(1); return 0; }


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
最近文章
签名类型
2024-04-29 16:28:59
cat 文件名
2024-04-29 15:05:34
推荐文章
最近访客