Макросы

Набор часто используемых макросов, включается обычно во все файлы проекта, через “common.h”

#ifndef KR_MACROS_INCLUDED
#define KR_MACROS_INCLUDED
 
#ifndef bool
typedef unsigned char bool;
#endif
 
#ifndef true
#define true (1)
#define false (!true)
#endif
 
 
#define BIT_CLR(port,bit) ( (port) &= ~(1<<(bit)) )
#define BIT_SET(port,bit) ( (port) |=  (1<<(bit)) )
#define BIT_CPL(port,bit) ( (port) ^=  (1<<(bit)) )
#define BIT_TST(port,bit) ( (port)  &  (1<<(bit)) )
 
#define CLEAR_BITS(port,bits) ( (port) &= ~(bits) )
#define SET_BITS(port,bits)   ( (port) |=  (bits)  )
#define TEST_BITS(port,bits)  ( (port)  &  (bits)  )
 
#define HIWORD(val) ((val)>>16)
#define LOWORD(val) ((val) & 0xFFFF)
#define HIBYTE(val) ((val) >> 8)
#define LOBYTE(val) ((val) & 0xFF)
 
#define COUNTOF(x)  (sizeof(x)/sizeof((x)[0]))
 
enum STATUS_T {
	STATUS_OK = 0,
	STATUS_ERROR = 1
};
 
#define CR '\r'
#define LF '\n'
#define CRLF "\r\n"
 
#endif
 
sources/macros.txt · Последние изменения: 2021/10/09 14:22 kurt