
{
while(*string)//知道渗举string指针指向字符串结束符'\0',才哗喊漏退出循乱烂环
{
Sent_ZF(*string++)//发送string指针指向的字符,并将string指针后移一位
Delay_ms(5)
}
}一、rValue &= 0x7fff/帆销/这个语句的作用这句的意思是过滤掉rValue的最高位,因为这里是个随机值,不好说最后rValue的值具体是多少
二、rValue -= g_dev_id//这个语句为什么要减去输入设备的ID,作用是什么,执行之后rvalue的值
这句没什么作用,只是造一个数据罢了。执行后的rValue的值是 rValue-g_dev_id
三、//这个while循环的整体意思是什么
这个循环就是造个随者轿迟机的2字节大于0的数据
四、buf[1] =(BYTE)( rValue >>8 )//buf[1]里存得内容是什么,rvalue右移八位是怎么存入rvalue中的
buf[1]里存的内容是rValue的高字节,举例:比如rValue = 0x1234则rValue>>8之后是0x0012,经过BYTE强
制转换后的值是0x12,这是给buf[1]赋值0x12五、buf[2] = (BYTE)( rValue &0xff )//
这句buf[2]的值是多少
buf[2]存的是rValue的低8字节,原理类似上条。举例:比如rValue = 0x1234则rValue经过BYTE强制转换后
的值是0x34,这是给buf[1]赋值0x34
六、rValue += g_dev_id//为什么此处又加上输入的设备的ID
还是造数据,没有具体含义
七、rValue = HTONS(rValue <<1 )//这个地方左移一位的作用,以及rvalue的值
左移1位,首李相当于乘以2,溢出部分将被忽略
八、memcpy( &buf[3], &rValue, 2 )//这句的作用
将rValue存入buf[3]起始的内存空间,共2个字节
九、buf[5] = (BYTE) cmd//这个cmd的值是什么,作用是什么
cmd是模块的输入参数,作用要看通信协议了
十、BYTE crc = buf[0] ^ buf[1]//这个异或运算的作用及值是什么
这里是做个校验,应该是通信协议做的规定吧,buf[0]是0xff,那么这里做的异或就是把buf[1]按位取反
好了,就解释到这里吧,不明白的再交流


评论列表(0条)