waphaoyun 发表于 2014-11-15 21:22:04

鸿哥,理解不了了,帮忙解释一下吧

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

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

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

谢谢鸿哥

jianhong_wu 发表于 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个字符。剩下的要靠你自己感悟,理科的东西不能完全用语言描述清楚,需要靠个人用心感悟它。

waphaoyun 发表于 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呢

jianhong_wu 发表于 2014-11-16 12:45:30

waphaoyun 发表于 2014-11-16 11:25
谢谢鸿哥,第八十二讲的,昨天忘记上图了,还是没明白else呢

应该是第81节的内容。
if(ucRcregBuf==0x0d&&ucRcregBuf==0x0a)//结束标志0x0d 0x0a的判断
                      {
                           uiVoiceCnt=const_voice_short; //蜂鸣器发出声音,表示数据接收正确完毕
                                                   ucWd1Part1Update=1; //及时更新显示第2,3,4行内容的信息
                                                   break; //退出for循环
                      }      
                                       else//收集有效信息编码进入显示缓冲区在for循环里,数组下标随着i的变化而不断的从第1个字节往最后一个字节方向移动,移动的目的是搜索“0x0d 0x0a”这个结束标志,如果发现不是这个标志,那么执行else的代码,表示else部分收集到的数据是有效的信息数据。如果一旦搜索到0x0d 0x0a这个关键字代码,那么就表示这一条信息结束,通过 break; 退出for循环。
页: [1]
查看完整版本: 鸿哥,理解不了了,帮忙解释一下吧