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


    实验目的:

    使一个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 }

    实验现象:

    https://www.bilibili.com/video/BV17i4y1L7eE

  • 相关阅读:
    Js时间处理
    Css 显示删除条目效果
    vue权限控制菜单显示的简单实现
    js取对象的属性值循环
    标题的内容响应式设计
    将一个字符串当做一个方法名或对象的key
    JSON序列化和解析
    import 与export详解
    使用flask-mail扩展发送邮件
    正则表达式练习-计算器实现
  • 原文地址:https://www.cnblogs.com/darren-pty/p/13919645.html
Copyright © 2020-2023  润新知