您的位置:首页 > 其它

arm开发常用全局配置文件config.h

2014-03-20 09:55 387 查看
/****************************************Copyright (c)**************************************************

********************************************************************************************************/
#ifndef __CONFIG_H_INCLUDE__ 
#define __CONFIG_H_INCLUDE__

#include <lpc21xx.h>  
#include <stdio.h>

#ifndef TRUE
#define TRUE  1
#endif

#ifndef FALSE
#define FALSE 0
#endif

typedef unsigned char  uint8;                   /* defined for unsigned 8-bits integer variable 	  */
												/* 无符号8位整型变量 */

typedef signed   char  int8;                    /* defined for signed 8-bits integer variable		  */
												/* 有符号8位整型变量 */

typedef unsigned short uint16;                  /* defined for unsigned 16-bits integer variable 	 */
												/* 无符号16位整型变量 */

typedef signed   short int16;                   /* defined for signed 16-bits integer variable 		 */
												/* 有符号16位整型变量 */

typedef unsigned int   uint32;                  /* defined for unsigned 32-bits integer variable 	*/
												/* 无符号32位整型变量  */

typedef signed   int   int32;                   /* defined for signed 32-bits integer variable 		*/
												/* 有符号32位整型变量 */

typedef float           fp32;                   /* single precision floating point variable (32bits)  */
												/* 单精度浮点数(32位长度) */

typedef double          fp64;                   /* double precision floating point variable (64bits)  */
												/* 双精度浮点数(64位长度) */

 
#define Fosc            11059200                    // Crystal frequence,10MHz~25MHz,
													// should be the same as actual status. 
						                            // 应当与实际一至晶振频率,10MHz~25MHz,应当与实际一至

#define Fcclk           (Fosc * 4)                  // System frequence,should be (1~32)multiples of Fosc
													// and should be equal or less  than 60MHz. 
					                        	    // 系统频率,必须为Fosc的整数倍(1~32),且<=60MHZ

#define Fcco            (Fcclk * 4)                 // CCO frequence,should be 2、4、8、16 multiples of Fcclk, 
													// ranged from 156MHz to 320MHz. 
					                        	    // CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz

#define Fpclk           (Fcclk / 4) * 1             // VPB clock frequence , must be 1、2、4 multiples of (Fcclk / 4).
				                        		    // VPB时钟频率,只能为(Fcclk / 4)的1、2、4倍                   

#define BitGet(number, pos) ((number) >> (pos) & 1)	// 用宏得到某数的某位

#define BitSet(number, pos) ((number) |= 1 << (pos))	// 把某位置1

#define BitClr(number, pos) ((number) &= ~(1 << (pos)))	// 把某位清0

#define BitCpl(number, pos) ((number) ^= 1 << (pos))	// 把number的POS位取反

#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: