没见过这个函数,哪位大侠帮忙看哈什么意思。

[复制链接]
1420|5
 楼主| 阳光的味道3121 发表于 2014-12-20 15:24 | 显示全部楼层 |阅读模式
typedef struct {

        INT16U      gsmCSQ;
       
}GSMCSQ;

int16u fun(void)
{
    GSMCSQ    *gsm_CSQ_frame = NULL;
    gsm_CSQ_frame -> gsmCSQ = ((((gsm_CSQ_frame -> gsmCSQ & 0xf000) >>12)*10 + ((gsm_CSQ_frame -> gsmCSQ & 0x0f00) >>8))<<8)&0xff00;
    gsm_CSQ_frame -> gsmCSQ = __REV16(gsm_CSQ_frame -> gsmCSQ);
}

现在最主要的问题就是不知道__REV16()这个函数是什么作用,求各位大神帮忙解释哈。
crystal1987 发表于 2014-12-23 17:11 | 显示全部楼层
__REV16()如果不是库函数,那就是自己定义的函数。你用的什么编程?
huayuliang 发表于 2014-12-23 17:24 | 显示全部楼层
没用过这个函数,不过从名字和你程序的前后语境来看,__REV16()应该是16位的按位取反函数。

评分

参与人数 1威望 +1 收起 理由
阳光的味道3121 + 1

查看全部评分

mei326 发表于 2014-12-23 18:33 | 显示全部楼层
大小端模式转换
 楼主| 阳光的味道3121 发表于 2014-12-27 22:20 | 显示全部楼层
huayuliang 发表于 2014-12-23 17:24
没用过这个函数,不过从名字和你程序的前后语境来看,__REV16()应该是16位的按位取反函数。 ...

谢谢几位了,回复的迟了,从我对程序的理解来看就是个取反函数。我再找找看。
李富贵 发表于 2014-12-27 22:26 | 显示全部楼层
CMSIS里面定义的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部