evboard.c

来自「无线单片机cc2430简化协议的无线收发程序」· C语言 代码 · 共 74 行

C
74
字号


#include "hal.h"
#include "halstack.h"
#include "evboard.h"
#include "evbConfig.h"

#define JOYSTICK_PUSH         P2_0
#define JOYSTICK_PRESSED()    JOYSTICK_PUSH
#define INIT_JOYSTICK_PUSH() \
    do {                     \
        P2DIR &= ~0x01;      \
        P2INP |= 0x01;       \
    } while (0)

BOOL joystickPushed( void );

typedef enum {CENTRED, LEFT, RIGHT, UP, DOWN} JOYSTICK_DIRECTION;

#define JOYSTICK              P0_6
#define INIT_JOYSTICK()       IO_DIR_PORT_PIN(0, 6, IO_IN)
#define ADC_INPUT_JOYSTICK    0x06

JOYSTICK_DIRECTION getJoystickDirection( void );


EVB_SW_STATE sw_state;



#define SW_POLL_TIME   MSECS_TO_MACTICKS(100)

UINT32 last_switch_poll;


//init the board
void evbInit(void){
  sw_state.val = 0;

  P0SEL &= ~0xf3;
  P1SEL &= ~0xff;
  IO_DIR_PORT_PIN(0, 0, IO_OUT);
  IO_DIR_PORT_PIN(0, 1, IO_OUT);
  IO_DIR_PORT_PIN(0, 4, IO_IN);
  IO_DIR_PORT_PIN(0, 5, IO_IN);
  IO_DIR_PORT_PIN(0, 6, IO_IN);
  IO_DIR_PORT_PIN(0, 7, IO_IN);

  IO_DIR_PORT_PIN(1, 0, IO_IN);
  IO_DIR_PORT_PIN(1, 1, IO_IN);
  IO_DIR_PORT_PIN(1, 2, IO_IN);
  IO_DIR_PORT_PIN(1, 3, IO_OUT);
  IO_DIR_PORT_PIN(1, 4, IO_OUT);
  IO_DIR_PORT_PIN(1, 5, IO_OUT);
  IO_DIR_PORT_PIN(1, 6, IO_IN);
  IO_DIR_PORT_PIN(1, 7, IO_IN);
}

void evbLedSet(BYTE lednum, BOOL state) {
    switch(lednum) {
       case 1:    if (state) LED1_ON(); else LED1_OFF(); break;
       case 2:    if (state) LED2_ON(); else LED2_OFF(); break;
    }
}

BOOL evbLedGetk(BYTE lednum){
  switch(lednum) {
       case 1:    return(LED1_STATE());
       case 2:    return(LED2_STATE());
    }
  return(FALSE);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?