NRF51822裸机GPIO学习笔记

NRF51822裸机GPIO 笔记记录

数据手册的管脚图
在这里插入图片描述
GPIO端口外设最多可实现32个引脚,PIN0至PIN31。 所有引脚可配置

    1.输入输出;
   	2.驱动能力;
   	3.上拉,下拉配置;
   	4.高电平或低电平触发器唤醒;
   	5.触发中断;
   	6.配置为PPI事件或者任务;
   	7.配置为串口或者正交调制信号;

在这里插入图片描述
OUTSET:设置某个引脚的输出为高电平;
OUTCLR:设置某个引脚的输出为低电平;
DIRSET:设置某个引脚的输入为高电平;
DIRCLR:设置某个引脚的输入为低电平;
(任何位写 “1” 有效,写 “0” 无作用。)
PIN_CNF:每一个引脚都可以在PIN_CNF [n]寄存器中单独配置(n = 0…31)。
配置寄存器:

	•方向
	•驱动强度
	•启用上拉和下拉电阻
	•引脚感应
	•输入缓冲区断开
	•模拟输入(针对所选引脚)
GPIO操作

使用相关库函数:nrf_gpio.h
相关定义

// 输入输出方向
typedef enum
{
    NRF_GPIO_PORT_DIR_OUTPUT,       ///<  Output
    NRF_GPIO_PORT_DIR_INPUT         ///<  Input
} nrf_gpio_port_dir_t;
//推挽设置:无上下拉、下拉、上拉
typedef enum
{
    NRF_GPIO_PIN_NOPULL   = GPIO_PIN_CNF_PULL_Disabled,                 ///<  Pin pullup resistor disabled
    NRF_GPIO_PIN_PULLDOWN = GPIO_PIN_CNF_PULL_Pulldown,                 ///<  Pin pulldown resistor enabled
    NRF_GPIO_PIN_PULLUP   = GPIO_PIN_CNF_PULL_Pullup,                   ///<  Pin pullup resistor enabled
} nrf_gpio_pin_pull_t;

...........

常用函数
//输入输出:

__STATIC_INLINE void nrf_gpio_cfg_output(uint32_t pin_number)
__STATIC_INLINE void nrf_gpio_cfg_input(uint32_t pin_number, nrf_gpio_pin_pull_t pull_config)

// 引脚写:

__STATIC_INLINE void nrf_gpio_pin_set(uint32_t pin_number);  //输出高电平
__STATIC_INLINE void nrf_gpio_pin_clear(uint32_t pin_number)//输出低电平
__STATIC_INLINE void nrf_gpio_pin_toggle(uint32_t pin_number);  //电平反转

//引脚读:

__STATIC_INLINE void nrf_gpio_pin_read(uint32_t pin_number);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值