2.1 board_gpio.c
/*********************************************************************
* INCLUDES
*/
#include <string.h>
#include <stdio.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/knl/Queue.h>
#include <ti/drivers/PIN.h>
#include <ti/drivers/pin/PINCC26XX.h>
#include "board_gpio.h"
/*********************************************************************
* LOCAL VARIABLES
*/
static PIN_State s_beepPins;
static PIN_Handle s_hBeepPins = NULL;
static PIN_State s_ledPins;
static PIN_Handle s_hLedPins = NULL;
// 蜂鸣器IO配置
static PIN_Config s_beepPinsCfg[] =
{
BOARD_BEEP_IO | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
PIN_TERMINATE
};
// LED灯IO配置
static PIN_Config s_ledPinsCfg[] =
{
BOARD_LED1_IO | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
BOARD_LED2_IO | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
PIN_TERMINATE
};
/*********************************************************************
* PUBLIC FUNCTIONS
*/
/**
@brief 配置蜂鸣器工作模式
@param beepMode 工作模式
@return none
*/
void Board_BeepSet(uint8 beepMode)
{
if(NULL == s_hBeepPins) // 第一次使用时注册IO
{
s_hBeepPins = PIN_open(&s_beepPins, s_beepPinsCfg);
}
switch(beepMode) // 执行模式
{
case BEEP_OFF: // 蜂鸣器不响模式
PIN_setOutputValue(s_hBeepPins, BOARD_BEEP_IO, 0);
break;
case BEEP_ON: // 蜂鸣器响模式
PIN_setOutputValue(s_hBeepPins, BOARD_BEEP_IO, 1);
break;
default:
break;
}
}
/**
@brief 配置LED灯工作模式
@param ledMode 工作模式
@return none
*/
void Board_LedSet(uint8 ledMode)
{
if(NULL == s_hLedPins) // 第一次使用时注册IO
{
s_hLedPins = PIN_open(&s_ledPins, s_ledPinsCfg);
}
switch(ledMode) // 执行模式
{
case LED_OFF: // LED灭模式
PIN_setOutputValue(s_hLedPins, BOARD_LED1_IO, 0);
PIN_setOutputValue(s_hLedPins, BOARD_LED2_IO, 0);
break;
case LED_ON: // LED亮模式
PIN_setOutputValue(s_hLedPins, BOARD_LED1_IO, 1);
PIN_setOutputValue(s_hLedPins, BOARD_LED2_IO, 1);
break;
default:
break;
}
}
/*************************************END OF FILE*************************************/
|