c语言rxtern的作用,C语言的一个函数,谁能给逐句注释一下

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

ljmaizhf99

2016.06.10

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:50%    等级:12

已帮助:3710人

voidTranslate(void)

{

unsigned char data; //声明data为无符号字符型变量

while((Fifo_Get(&data))==0)//while循环,满足Fifo_Get(&data)为真时进入循环(&为取址符,传输data变量的存放地址给函数)

{

switch(stateRX) //多项选择,

{

case RCV_FE: //当stateRX的值等于RCV_FE时执行以下语句。(case的格式:case 常量 :。RCV_应该是通过在程序开头#define RCV_FE ??得到的,??表示任何符号 )

if( data == 0xfe) //若data为0xfe(0x??表示十六进制数)时

stateRX++; //stateRX自增(相当于stateRX=stateRX+1;但执行速度更快)

else //若前面的data == 0xfe条件不成立,则执行以下语句

stateRX = RCV_FE; //赋值语句

break; //跳出switch,(若没有这步,若case RCV_FE:成立将会一直执行下去,忽略下面的case)

case RCV_EF: //同理

if( data == 0xef) //同理

else //同理

stateRX = RCV_FE; //同理

break; //同理

case RCV_ID: //同理

LRC = 0Xff; //同理

id = data; //同理

LRC ^= data; //。。。。。这句就。。。LRC和data的各相应位进行异或再赋值给LRC(异或:位运算,法则是必须不同,否则没有,例子:1^1=0,1^0=1,0^0=0)

stateRX++; //同理

break; //同理

case RCV_LEN: //同理

len = data; //同理

LRC ^= data; //同理

stateRX++; //同理

break;//同理

case RCV_INSTRUCT://同理

cmd = data;//同理

LRC ^= data;//同理

paraindex = 0;//同理

if(len-2<=0)//len-2<=0的意思是先len-2再判断len-2是否小于等于零

stateRX=RCV_CHKSUM;//同理

else//同理

stateRX++;//同理

break;//同理

case RCV_PARA://同理

paratmp[paraindex++] = data;//将data赋值给paratmp[paraindex],然后paraindex自增;

LRC ^= data;//同理

if( paraindex >= len-2)//同理

stateRX++;//同理

break;//同理

case RCV_CHKSUM://同理

if(LRC == data)//同理

Dispatch();//函数Dispatch()

stateRX = RCV_FE;//同理

break;//同理

default://switch的末句,若以上case都不等于stateRX的值,则执行default后面的语句,这里default后面是brake;,这两句不要也可

break;

}

}

}不能说完,但希望能拿到这两百块

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值