查看: 3756|回复: 19

[其他] 帮助理解一下代码

[复制链接]

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
发表于 2016-3-3 09:07:46 | 显示全部楼层 |阅读模式
if ((0 != g_recv_size) && (0xFFFFFFFF != g_recv_size))                //接收BUFF最大64字节

求大神帮忙理解一下,这两部分代码分别代表什么意思,是虚拟串口通信的代码,上边这个起到什么作用,   为什么用 !=

下边这个也是 !=2 ,    memset 给数组位清零。意义何在?


                                                        if(g_recv_size!=2)
                                                                {
                                                                        g_recv_size = 0;
                                                                        g_send_size=0;
                                                                        memset(g_curr_send_buf,0,sizeof(g_curr_send_buf));       
                                                                        memset(g_curr_recv_buf,0,sizeof(g_curr_recv_buf));       
                                                                        return;
                                                                }                                                               

我知道答案 目前已有19人回答
111.png
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2016-3-3 09:24:44 | 显示全部楼层
    这要要根据它的上下文协议来看了,可能等于2是个特殊的指令啊什么的。 blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    57

    主题

    531

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1356
    最后登录
    2016-12-5
     楼主| 发表于 2016-3-3 09:27:30 | 显示全部楼层
    党国特派员 发表于 2016-3-3 09:24
    这要要根据它的上下文协议来看了,可能等于2是个特殊的指令啊什么的。

    没找到=2的信息
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-3-3 09:32:52 | 显示全部楼层
    直接理解:左边 != 右边,表示关系式两边不等;&& 表示位与,相当于将表达式的值,写成二进制,一一对应与的结果;如果两个括号的结果相与后为真,执行,否则不执行[或执行else后的]
    下边的意思同上。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    57

    主题

    531

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1356
    最后登录
    2016-12-5
     楼主| 发表于 2016-3-3 09:59:01 | 显示全部楼层
    zhjb1 发表于 2016-3-3 09:32
    直接理解:左边 != 右边,表示关系式两边不等;&& 表示位与,相当于将表达式的值,写成二进制,一一对应与 ...

    不明白为什么第一个位与表达式就可以定义接收缓冲BUFF最大64位?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    17

    帖子

    0

    注册会员

    Rank: 2

    积分
    52
    最后登录
    2016-6-12
    发表于 2016-3-3 10:12:45 | 显示全部楼层
    LuoR 发表于 2016-3-3 09:59
    不明白为什么第一个位与表达式就可以定义接收缓冲BUFF最大64位?

    也许是注释的问题呢?你要结合完整的程序和协议来看。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    57

    主题

    531

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1356
    最后登录
    2016-12-5
     楼主| 发表于 2016-3-3 10:34:21 | 显示全部楼层
    紫嫣0302 发表于 2016-3-3 10:12
    也许是注释的问题呢?你要结合完整的程序和协议来看。

    你好 紫嫣 没有协议,得我自己总结出来 谢谢你
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-6-2 13:32
  • 签到天数: 272 天

    连续签到: 1 天

    [LV.8]以坛为家I

    44

    主题

    995

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4417
    最后登录
    2023-6-2
    发表于 2016-3-3 11:42:36 | 显示全部楼层
    觉得这个是和写程序的人有关的.
    如果接收到了0xAA 0x01 +.....
    就把串口重置.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    57

    主题

    531

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1356
    最后登录
    2016-12-5
     楼主| 发表于 2016-3-3 13:04:43 | 显示全部楼层
    andrewz 发表于 2016-3-3 11:42
    觉得这个是和写程序的人有关的.
    如果接收到了0xAA 0x01 +.....
    就把串口重置.

    能具体帮我看一下代码吗?我贴出来
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-6-2 13:32
  • 签到天数: 272 天

    连续签到: 1 天

    [LV.8]以坛为家I

    44

    主题

    995

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4417
    最后登录
    2023-6-2
    发表于 2016-3-3 13:05:38 | 显示全部楼层
    LuoR 发表于 2016-3-3 13:04
    能具体帮我看一下代码吗?我贴出来

    你贴出来吧
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 13:33 , Processed in 0.106465 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表