emot.h

来自「CC2430相关的一些实验程序,开发环境为IAR,如果有兴趣的人是不错的资料.」· C头文件 代码 · 共 96 行

H
96
字号
//emot.h

#ifndef EMOT_H
#define EMOT_H

#include <ioCC2430.h>

#define uint unsigned int
#define uchar unsigned char

/*********************************************************************
//常用赋值宏
*********************************************************************/
#define BYTE unsigned char
#define WORD unsigned int

#define UPPER_BYTE(a) ((BYTE) (((WORD)(a)) >> 8))
#define HIBYTE(a)     UPPER_BYTE(a)

#define LOWER_BYTE(a) ((BYTE) ( (WORD)(a))      )
#define LOBYTE(a)     LOWER_BYTE(a)

#define SET_WORD(regH, regL, word) \
   do{                             \
      (regH) = UPPER_BYTE((word)); \
      (regL) = LOWER_BYTE((word)); \
   }while(0)
/*****************************************
//初始化T2的配置程序
*****************************************/
#define TIMER2_CMP_HIGH_BYTE()  do{T2CNF &= ~0X08;}while(0)

#define TIMER2_CMP_LOW_BYTE()  do{T2CNF|=0x08;}while(0)

#define TIMER2_RUN()  T2CNF|=0X01

#define TIMER2_STOP() do{T2CNF&=0XFE;}while(0)

#define SET_TIMER2_COUNTER(val) SET_WORD(T2TLD,T2THD,val)

//清中断标志
#define CLEAR_TIMER2_INT_FLAG() \
  do{                             \
    T2CNF &= ~0XC0;               \
    T2IF = 0;                     \
    }while(0)

//设T2比较值
#define SET_T2_CMP_COUNTER(val)   \
  do{                             \
    T2CMP = 0x00;                 \
    T2CMP |= (char)val;           \
    }while(0)

//开比较中断
#define SET_TIMER2_CMP_INT()      \
  do{                             \
    EA = 1;                       \
    T2IE = 1;                     \
    T2PEROF2 |= 0x80;             \
    }while(0)

//溢出中断
#define SET_TIMER2_CAP_INT()      \
  do{                             \
    EA = 1;                       \
    T2IE = 1;                     \
    T2PEROF2 |= 0x40;             \
    }while(0)

//设定溢出值
#define SET_TIMER2_CAP_COUNTER(val) SET_WORD(T2CAPLPL,T2CAPHPH,val)

/*********************************************************************
*以上是T2的部分驱动
*/


/*********************************************************************
//启用LED
*********************************************************************/
#define LED_ENALBLE()           \
  do{                           \
    P1SEL &= ~0X03;             \
    P1DIR = 0x03; 	        \
    P1 |= 0X03;                 \
    }while(0)

#define led1 P1_0
#define led2 P1_1
/*********************************************************************
*使用模块上的LED灯
*/

#endif //EMOT_H

⌨️ 快捷键说明

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