📄 cpu.h
字号:
/********************************************************************************************************
* 文 件 名 : CPU.h
* 程 序 员 : (CaiJie) hnclcj@gmail.com
* (c) Copyright 2006-2006, CaiJie
* 所有版权保留 2006-2006
* All Rights Reserved
* 创建日期 : 2006-07-28
* 说 明 :
* 修改日期 :
* 修改版本 :
********************************************************************************************************/
#ifndef _CPU_H_
#define _CPU_H_
// 定义可移植的数据类型 所以的应用程序和底层程序都依赖它
typedef unsigned char BOOL; //
typedef signed char INT8S; // 定义8位有符号整数
typedef unsigned char INT8U; // 定义8位无符号整数
typedef signed int INT16S; // 定义16位有符号整数
typedef unsigned int INT16U; // 定义16位无符号整数
typedef signed long INT32S; // 定义32位有符号整数
typedef unsigned long INT32U; // 定义32位无符号整数
typedef float FP32; // 定义IEEE 标准的32 BIT的浮点数据类型
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
/********************************************************************************************************
* 宏定义
********************************************************************************************************/
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef NULL
#define NULL ((void *) 0L)
#endif
#ifndef HIGH
#define HIGH 1
#endif
#ifndef LOW
#define LOW 0
#endif
#ifndef FLASH
#define FLASH __ATTR_PROGMEM__
#endif
#ifndef EEPROM
#define EEPROM __attribute__((section(".eeprom")))
#endif
/********************************************************************************************************
* 位操作宏定义
********************************************************************************************************/
#define OS_ENTER_CRITICAL() cli()
#define OS_EXIT_CRITICAL() sei()
#define _nop_() asm volatile ("nop")
#define BIT(x) ( 1 << (x)) // 移动第X位
#define SETBIT(a, b) ( (a) |= BIT(b)) // 设置指定位
#define CLRBIT(a, b) ( (a) &= ~BIT(b)) // 清楚指定位
#define GETBIT(a, b) (((a) >> (b)) & 1) // 得到指定位的信息
#define SETMASK(set, map) ((set) |= (map)) // 同时设置 SETBIT(COM_6_PORT,(BIT(1)+BIT(2)))
#define CLRMASK(set, map) ((set) &= ~(map)) // 同时清除 CLRBIT(COM_6_PORT,(BIT(1)+BIT(2)))
void DelayNMs (INT16U Dly);
void DelayNUS (INT16U Dly);
#endif
/********************************************************************************************************
* End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -