一、硬件连接
外设名称 | 引脚 | 控制方法 |
---|---|---|
蜂鸣器 | 14 | 高电平响、低电平停 |
LED灯 | 23 | 高电平亮、低电平灭 |
二、移植文件
注意:以下出现缺失common.h文件错误,去除即可。uint8改为uint8_t或unsigned char或自己宏定义
链接:https://pan.baidu.com/s/1cGrkf-KvlWZHsutpHCBecA 提取码:osrg
将 board_gpo.c 和 board_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 日
• 参考:青风电子社区