NRF52832学习笔记(3)——GPIO输出接口使用

一、硬件连接

按键名称 引脚 控制方法
蜂鸣器 14 高电平响、低电平停
LED灯 23 高电平亮、低电平灭

二、移植文件

注意:以下出现缺失common.h文件错误,去除即可。uint8改为uint8_t或unsigned char或自己宏定义
链接:https://pan.baidu.com/s/1cGrkf-KvlWZHsutpHCBecA 提取码:osrg
board_gpo.cboard_gpo.h 两个文件加入工程的Application文件夹下

2.1 board_gpo.c

/*********************************************************************
 * INCLUDES
 */
#include "nrf_gpio.h"

#include "board_gpo.h"
#include "common.h"

/*********************************************************************
 * PUBLIC FUNCTIONS
 */
/**
 @brief 蜂鸣器驱动初始化
 @param 无
 @return 无
*/
void Board_BeepInit(void)
{
	nrf_gpio_cfg_output(BOARD_BEEP_IO);
	Board_BeepSet(BEEP_OFF);
}

/**
 @brief 配置蜂鸣器工作模式
 @param beepMode -[in] 工作模式
 @return 无
*/
void Board_BeepSet(uint8 beepMode)
{
	switch(beepMode)                                                        // 执行模式
    {
    case BEEP_OFF:                                                          // 蜂鸣器不响模式
        nrf_gpio_pin_write(BOARD_BEEP_IO, 0);
        break;

    case BEEP_ON:                                                           // 蜂鸣器响模式
        nrf_gpio_pin_write(BOARD_BEEP_IO, 1);
        break;

    default:
        break;
    }
}

/**
 @brief LED灯驱动初始化
 @param 无
 @return 无
*/
void Board_LedInit(void)
{
	nrf_gpio_cfg_output(BOARD_LED_IO);
	Board_LedSet(LED_OFF);
}

/**
 @brief 配置LED灯工作模式
 @param ledMode -[in] 工作模式
 @return 无
*/
void Board_LedSet(uint8 ledMode)
{
	switch(ledMode)                                                         // 执行模式
    {
	case LED_OFF:                                                           // LED灭模式
		nrf_gpio_pin_write(BOARD_LED_IO, 0);
        break;

    case LED_ON:                                                            // LED亮模式
        nrf_gpio_pin_write(BOARD_LED_IO, 1);
        break;

    default:
        break;
    }
}

/****************************************************END OF FILE****************************************************/

2.2 board_gpo.h

#ifndef _BOARD_GPO_H_
#define _BOARD_GPO_H_

/*********************************************************************
 * INCLUDES
 */
#include "common.h"

/*********************************************************************
 * DEFINITIONS
 */
#define BOARD_BEEP_IO               14
#define BOARD_LED_IO                23

#define BEEP_OFF                    0x00
#define BEEP_ON                     0x01
#define LED_OFF                     0x00
#define LED_ON                      0x01

/*********************************************************************
 * API FUNCTIONS
 */
void Board_BeepInit(void);
void Board_BeepSet(uint8 beepMode);
void Board_LedInit(void);
void Board_LedSet(uint8 ledMode);

#endif /* _BOARD_GPO_H_ */

三、API调用

需包含头文件 board_gpo.h

Board_BeepSet

功能 配置蜂鸣器工作模式
函数定义 void Board_BeepSet(uint8 beepMode)
参数 beepMode 工作模式(BEEP_ON或BEEP_OFF)
返回

Board_LedSet

功能 配置LED灯工作模式
函数定义 void Board_LedSet(uint8 ledMode)
参数 beepMode 工作模式(LED_ON或LED_OFF)
返回

• 由 Leung 写于 2019 年 12 月 20 日

• 参考:青风电子社区

发布了86 篇原创文章 · 获赞 131 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_36347513/article/details/103628253