⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typedef.h

📁 直流电机、步进电机、舵机的完全驱动。直接GPIO口控制
💻 H
字号:


#ifndef _TYPEDEF_H
#define _TYPEDEF_H

#define U32     unsigned int
#define S32     int
#define U16     unsigned short
#define S16     short
#define U8      unsigned char
#define S8      char
#define BOOL    int

//#define RP32    U32 *
typedef	volatile U32 *		RP32;	
typedef	volatile U32 *		RP;		
typedef	volatile U16 *		RP16;
typedef	volatile U8  *		RP8;

typedef long				STATUS;		/* the status of function return value */
                                		
                                		
typedef void				*VP;		/* pointer to an unpredictable data type */
typedef void				(*FP)();	/* program start address */


#define 	E_OK       	0        /* Normal completion */
#define 	E_SYS      	(-5)     /* System error */
#define 	E_NOMEM    	(-10)    /* Insufficient memory */
#define 	E_NOSPT    	(-17)    /* Feature not supported */
#define 	E_INOSPT  	 (-18)   /* Feature not supported 
                               		by ITRON/FILE specification */
#define 	E_RSFN     	(-20)    /* Reserved function code number */
#define 	E_RSATR    	(-24)    /* Reserved attribute */
#define 	E_PAR      	(-33)    /* Parameter error */
#define 	E_ID       	(-35)    /* Invalid ID number */
#define 	E_NOEXS    	(-52)    /* Object does not exist */
#define 	E_OBJ      	(-63)    /* Invalid object state */
#define 	E_MACV     	(-65)    /* Memory access disabled or memory access 
                               		violation */
#define 	E_OACV     	(-66)    /* Object access violation */
#define 	E_CTX      	(-69)    /* Context error */
#define 	E_QOVR     	(-73)    /* Queuing or nesting overflow */
#define 	E_DLT      	(-81)    /* Object being waited for was deleted */
#define 	E_TMOUT    	(-85)    /* Polling failure or timeout exceeded */
#define 	E_RLWAI    	(-86)    /* WAIT state was forcibly released */ 

#define		E_HA		(-99) 		 /* HARD WARE ERROR */


typedef int					ER;			/* Error code.  A signed integer. */


#define FALSE   ((BOOL)0)
#define TRUE    (~(BOOL)FALSE)

#define ER_     (-1)

#define	NO						0		/* 出错返回值 */
#define	YES						1		/* 成功返回值 */

#define REG32(addr)	(*(volatile unsigned int *)(addr))
#define REG16(addr)	(*(volatile unsigned short *)(addr))
#define REG8(addr)	(*(volatile unsigned char *)(addr))

/****************************************
	macros  for write and read registers
****************************************/
#define write_reg(reg, data) \
	*(RP)reg = data

#define read_reg(reg) \
	*(RP)reg

#endif

⌨️ 快捷键说明

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