常用的宏定义

#define BIT_JUDGE(Val,Bit)      ((Val>>Bit)&0x01)       /* 位判断 */
#define BIT_SET(Val,Bit)        (Val |= (1<<Bit))       /* 位置1 */
#define BIT_CLEAR(Val,Bit)      (Val &= ~(1<<Bit))      /* 位置0 */
#define BIT_INVERT(Val,Bit)     (Val ^= (1<<Bit))       /* 位取反 */
#define NUM_TO_CHAR(Num)        (Num+'0')
#define CHAR_TO_NUM(Char)       (Char-'0')

#define DIV_MODULO(a,b)     ((a)/(b))                       /* 取模除法 */
#define DIV_CARRY(a,b)      ((0 == (a)%(b))?((a)/(b)):((a)/(b)+1))  /* 进位除法 */	

#define PROTOCOL_RF(pid,sid)            (((sid)<<8)|(pid)) /*高低八位组合*/

//大小端转换
#define Tranverse16(X)        ((((uint16_t)(X) & 0xff00) >> 8) |(((uint16_t)(X) & 0x00ff) << 8))

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐