独闷闷网

 找回密码
 立即注册
搜索
查看: 3375|回复: 3
收起左侧

[求助] 鸿哥,理解不了了,帮忙解释一下吧

[复制链接]
发表于 2014-11-15 21:22:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 waphaoyun 于 2014-11-16 11:24 编辑

这里为什么用了else?  
还有 uiCodeYu=uiCodeCnt%2; //对2求余数,用来识别相信的2个是否是机内码,否则要进行插入填充0x20处理

这里相邻的两个是否为机内码 判断的原理是什么,除以二有什么作用?

谢谢鸿哥
82.jpg
乐于分享,勇于质疑!
发表于 2014-11-15 23:32:23 | 显示全部楼层
本帖最后由 jianhong_wu 于 2014-11-15 23:33 编辑

(1)为什么用else,你说的是哪节的内容?
(2)这个不是除以2,是对2求余数。对2求余数,只有两种结果,一种是0,一种是1。也就是求奇偶数。而液晶屏一个地址必须显示1一个汉字,或者2个字符。如果一个地址只显示1个字符,那么另外1字符必须填充空格0x20字符。对2求余数就是目的判断它到底是一个地址刚好有2个字符,还是只有1个字符。剩下的要靠你自己感悟,理科的东西不能完全用语言描述清楚,需要靠个人用心感悟它。
乐于分享,勇于质疑!
 楼主| 发表于 2014-11-16 11:25:16 | 显示全部楼层
本帖最后由 waphaoyun 于 2014-11-16 11:27 编辑
jianhong_wu 发表于 2014-11-15 23:32
(1)为什么用else,你说的是哪节的内容?
(2)这个不是除以2,是对2求余数。对2求余数,只有两种结果, ...

谢谢鸿哥,第八十二讲的,昨天忘记上图了,还是没明白else呢
乐于分享,勇于质疑!
发表于 2014-11-16 12:45:30 | 显示全部楼层
waphaoyun 发表于 2014-11-16 11:25
谢谢鸿哥,第八十二讲的,昨天忘记上图了,还是没明白else呢

应该是第81节的内容。
  1. if(ucRcregBuf[uiRcMoveIndex+3+i]==0x0d&&ucRcregBuf[uiRcMoveIndex+4+i]==0x0a)  //结束标志0x0d 0x0a的判断
  2.                       {
  3.                            uiVoiceCnt=const_voice_short; //蜂鸣器发出声音,表示数据接收正确完毕
  4.                                                    ucWd1Part1Update=1; //及时更新显示第2,3,4行内容的信息
  5.                                                    break; //退出for循环
  6.                       }        
  7.                                        else  //收集有效信息编码进入显示缓冲区
复制代码
在for循环里,数组下标随着i的变化而不断的从第1个字节往最后一个字节方向移动,移动的目的是搜索“0x0d 0x0a”这个结束标志,如果发现不是这个标志,那么执行else的代码,表示else部分收集到的数据是有效的信息数据。如果一旦搜索到0x0d 0x0a这个关键字代码,那么就表示这一条信息结束,通过 break; 退出for循环。
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-6-18 11:03 , Processed in 0.142276 second(s), 20 queries .

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