独闷闷网

标题: 鸿哥,理解不了了,帮忙解释一下吧 [打印本页]

作者: waphaoyun    时间: 2014-11-15 21:22
标题: 鸿哥,理解不了了,帮忙解释一下吧
本帖最后由 waphaoyun 于 2014-11-16 11:24 编辑

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

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

谢谢鸿哥

82.jpg (97.08 KB, 下载次数: 221)

82.jpg

作者: jianhong_wu    时间: 2014-11-15 23:32
本帖最后由 jianhong_wu 于 2014-11-15 23:33 编辑

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

谢谢鸿哥,第八十二讲的,昨天忘记上图了,还是没明白else呢
作者: jianhong_wu    时间: 2014-11-16 12:45
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循环。





欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2