首页 > 其他 > 详细

6-gpioe task 寄存器配置方式(nrf52832)

时间:2020-11-03 15:03:24      阅读:43      评论:0      收藏:0      [点我收藏+]

实验目的:

使一个LED长亮,一个LED闪烁

 

实验原理:

(1)GPIOE 寄存器:

技术分享图片

 

 (2)设置GPIOE的CONFIG寄存器,实现GPIOE与普通GPIO绑定

 技术分享图片

 

 

实验代码:

(1)配置

 1 void GPIOTE_TASK_Init(void)
 2 {
 3     
 4     NVIC_EnableIRQ(GPIOTE_IRQn);//中断嵌套设置
 5     
 6     NRF_GPIOTE->CONFIG[0] =  (GPIOTE_CONFIG_POLARITY_Toggle << GPIOTE_CONFIG_POLARITY_Pos)//极性设置 任务模式下翻转电平
 7                            | (19 << GPIOTE_CONFIG_PSEL_Pos) //管脚设置 
 8                            | (GPIOTE_CONFIG_MODE_Task << GPIOTE_CONFIG_MODE_Pos)
 9                            | (GPIOTE_CONFIG_OUTINIT_High    << GPIOTE_CONFIG_OUTINIT_Pos);//初始化为高电平 
10 
11       NRF_GPIOTE->CONFIG[1] =  (GPIOTE_CONFIG_POLARITY_HiToLo << GPIOTE_CONFIG_POLARITY_Pos)//任务模式下输出低电平  配置任务输出状态
12                            | (20<< GPIOTE_CONFIG_PSEL_Pos)  //绑定通道
13                            | (GPIOTE_CONFIG_MODE_Task << GPIOTE_CONFIG_MODE_Pos)//配置为任务模式
14                              | (GPIOTE_CONFIG_OUTINIT_High    << GPIOTE_CONFIG_OUTINIT_Pos);//初始化为高电平 
15  
16 }

(2)main

 1 int main(void)
 2 {
 5   GPIOTE_TASK_Init();
 6     while(1)
 7     {
 8         //触发输出任务模式
 9 //        NRF_GPIOTE->TASKS_SET[0]=1;//引脚电平状态设置为高电平
10 //        NRF_GPIOTE->TASKS_SET[1]=1;
11 //        
12 //        NRF_GPIOTE->TASKS_CLR[0]=1;//引脚电平状态设置为低电平
13 //        NRF_GPIOTE->TASKS_CLR[1]=1;
14         
15         NRF_GPIOTE->TASKS_OUT[0]=1;//引脚电平状态根据GPIOTE_CONFIG_POLARITY_Pos设置的变化
16         NRF_GPIOTE->TASKS_OUT[1]=1;
17         
18         nrf_delay_ms(500);
19     }
20 }

 

6-gpioe task 寄存器配置方式(nrf52832)

原文:https://www.cnblogs.com/darren-pty/p/13919645.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!