📄 hal_buttons.c
字号:
/**
* @file hal_buttons.c
*
* Copyright 2008 Texas Instruments, Inc.
***************************************************************************/
#include <msp430x54x.h>
#include "hal_MSP-EXP430F5438.h"
/**********************************************************************//**
* @brief Initializes the GPIO ports to act as buttons.
*
* @param buttonsMask The mask that specifies the button pins.
*
* @return none
*************************************************************************/
void halButtonsInit(unsigned char buttonsMask)
{
BUTTON_PORT_OUT |= buttonsMask;
BUTTON_PORT_DIR &= ~buttonsMask;
BUTTON_PORT_REN |= buttonsMask;
BUTTON_PORT_SEL &= ~buttonsMask;
}
/**********************************************************************//**
* @brief Returns LOW for the buttons pressed.
*
* @param none
*
* @return The buttons that have been pressed, identified by a bit = 0.
*************************************************************************/
unsigned char halButtonsPressed(void)
{
unsigned char value;
value = BUTTON_PORT_IN;
return (0xFF - value); //Low==ButtonPressed
}
/**********************************************************************//**
* @brief Enables button interrupt(s) with low to high transitions.
*
* @param buttonIntEnableMask The button pin(s) for which the interrupt(s)
* should be enabled.
*
* @return none
*************************************************************************/
void halButtonsInterruptEnable(unsigned char buttonIntEnableMask)
{
BUTTON_PORT_IES &= ~buttonIntEnableMask;
BUTTON_PORT_IFG &= ~buttonIntEnableMask;
BUTTON_PORT_IE |= buttonIntEnableMask;
}
/**********************************************************************//**
* @brief Disables button interrupts
*
* @param buttonIntEnableMask The button pin(s) for which the interrupt(s)
* should be disabled.
*
* @return none
*************************************************************************/
void halButtonsInterruptDisable(unsigned char buttonIntEnableMask)
{
BUTTON_PORT_IE &= ~buttonIntEnableMask;
}
/**********************************************************************//**
* @brief Clears the button GPIO settings, disables the buttons.
*
* @param none
*************************************************************************/
void halButtonsShutDown()
{
//All output, outputting 0s
BUTTON_PORT_OUT &= ~(BUTTON_ALL);
BUTTON_PORT_DIR |= BUTTON_ALL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -