',才哗喊漏退出循乱烂环{Sent_ZF"og:type" content="webpage">',才哗喊漏退出循乱烂环{Sent_ZF" /> ',才哗喊漏退出循乱烂环{Sent_ZF"> *string是什么意思?51单片机程序求解读_软件运维_内存溢出

阅读17

*string是什么意思?51单片机程序求解读,第1张

void AT_Send_String(u8 *string) //string为指向u8类型的指针

{

while(*string)//知道渗举string指针指向字符串结束符'\0',才哗喊漏退出循乱烂环

{

Sent_ZF(*string++)//发送string指针指向的字符,并将string指针后移一位

Delay_ms(5)

}

}一、rValue &= 0x7fff/帆销/这个语句的作用

,执行之后rvalue的值

这句

的意思是过滤掉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]按位取反


好了,就解释到这里吧,不明白的再交流

欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://54852.com/yw/12490419.html
这是
(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
win2000win2000一级用户组
MFC中为什么鼠标右键单击控件时不响应而再单击窗
上一篇
2025-08-25
爱普生230打印机清零法是什么?
2025-08-25

发表评论
请登录后评论...
登录
提交

    评论列表(0条)
保存
{label}{label}