📄 hal_button.c
字号:
/*******************************************************************************
Filename: hal_button.c
Description: HAL button implementation for CCSoC + SmartRF05EB
Copyright 2007 Texas Instruments, Inc.
*******************************************************************************/
#include "hal_types.h"
#include "hal_board.h"
#include "hal_button.h"
#include "hal_cc8051.h"
/******************************************************************************
* @fn halButtonInit
*
* @brief
* Initializes the button functionality
*
* Parameters:
*
* @param void
*
* @return void
*
******************************************************************************/
void halButtonInit(void)
{
// Button push input
MCU_IO_INPUT(HAL_BOARD_IO_BTN_1_PORT, HAL_BOARD_IO_BTN_1_PIN, MCU_IO_TRISTATE);
}
/******************************************************************************
* @fn halButtonPushed
*
* @brief
* This function detects if 'S1' is being pushed. The function
* implements software debounce. Return true only if previuosly called
* with button not pushed. Return true only once each time the button
* is pressed.
*
* Parameters:
*
* @param void
*
* @return uint8
* 1: Button is being pushed
* 0: Button is not being pushed
*
******************************************************************************/
uint8 halButtonPushed(void)
{
uint8 i;
uint8 value;
static uint8 prevValue;
if (value = HAL_BUTTON_1_PUSHED()){
for(i = 0; i < 10; i++) {
if(!HAL_BUTTON_1_PUSHED()){
value = 0;
break;
}
}
}
if (value){
if (!prevValue){
value = prevValue = HAL_BUTTON_1;
halMcuWaitMs(50);
}
else {
value = 0;
}
}
else{
prevValue = 0;
}
return value;
}
/*------------------------------------------------------------------------------
0ooo
ooo0 ( )
( ) ) /
\ ( (_/
\_) Modify By:cuiqingwei [gary]
------------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -