打印

if else的嵌套问题

[复制链接]
1546|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
弹弓|  楼主 | 2014-3-3 14:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
se, TE, PDA, pd, AN
if(ReadTempFlag==1)
{
  ReadTempFlag=0;
  temp=ReadTemperature();
  if(temp&0x8000)
     {
     TempData[0]=0x40;//负号标志
     temp=~temp;  // 取反加1
         temp +=1;
         }
  else
     TempData[0]=0;

     TempH=temp>>4;
     TempL=temp&0x0F;
     TempL=TempL*6/10;//小数近似处理
           
    if(TempH/100==0)
          TempData[1]=0;
        else
      TempData[1]=dofly_DuanMa[TempH/100]; //十位温度
    if((TempH/100==0)&&((TempH%100)/10==0))//消隐
          TempData[2]=0;
        else
     TempData[2]=dofly_DuanMa[(TempH%100)/10]; //十位温度
     TempData[3]=dofly_DuanMa[(TempH%100)%10]|0x80; //个位温度,带小数点
     TempData[4]=dofly_DuanMa[TempL];
         TempData[6]=0x39;         //显示C符号
  }       
}
}
这个事DS18B20的程序,有两处问题,其中1.if else 看晕了,2.小数近似处理那句程序看不明白。3.消隐那里不明白。先谢谢

相关帖子

沙发
ayb_ice| | 2014-3-3 15:49 | 只看该作者
if else不够规范,哪怕一句话,也要加括号

使用特权

评论回复
板凳
craaazyfor| | 2014-3-3 16:53 | 只看该作者
1.小数处理是为了避免浮点运算;
2.消隐是想不显示不必要的0吧,比如012只显示12

使用特权

评论回复
地板
弹弓|  楼主 | 2014-3-3 23:18 | 只看该作者
ayb_ice 发表于 2014-3-3 15:49
if else不够规范,哪怕一句话,也要加括号

开发板配的程序,很多都要看得很费劲。现在这儿看了一下午才看明白。

使用特权

评论回复
5
弹弓|  楼主 | 2014-3-3 23:21 | 只看该作者
弹弓 发表于 2014-3-3 23:18
开发板配的程序,很多都要看得很费劲。现在这儿看了一下午才看明白。

嗯,那个小数处理,他是怎样处理的?我看不明白原理,你能看明白吗?对了,还麻烦你帮我看一下 TempData[1]=dofly_DuanMa[TempH/100]; //十位温度
    if((TempH/100==0)&&((TempH%100)/10==0))//消隐
那里的备注//十位温度,我觉得应该是百位才对。谢谢你了

使用特权

评论回复
6
香水橙| | 2014-3-3 23:31 | 只看该作者
写程序一定要注意缩进清晰,各级的对应关系就会一目了然。像你这个段落那样,代码堆在一起,谁也看不明白。

使用特权

评论回复
7
弹弓|  楼主 | 2014-3-3 23:47 | 只看该作者
香水橙 发表于 2014-3-3 23:31
写程序一定要注意缩进清晰,各级的对应关系就会一目了然。像你这个段落那样,代码堆在一起,谁也看不明白。 ...

嗯。学习了,我写的时候会注意的。这个是开发板配的程序。

使用特权

评论回复
8
shenzhenherry| | 2014-3-4 09:19 | 只看该作者
建议lz:
1、使用专门的源代码编辑软件来查看及修改源码,行业内流行的是 UltraEdit,和SourceInsight,这比PIC编译工具自带的 源码编辑器方便得多。
专门的源码编辑器,可将成对的花括号收缩起来,理解起代码的逻辑很是方便。

2、if-else这样的语句,紧接着判断句的后面,需要加1对 花括号,那怕是一个语句也要加上,这样逻辑清晰,便于理解。

例如
if(条件)

A


else

B

使用特权

评论回复
9
江枫渔火| | 2014-3-4 09:32 | 只看该作者
找个格式化工具,嘭的一声,就清楚了

使用特权

评论回复
10
t待鸿| | 2014-3-4 12:18 | 只看该作者
顶8楼,好工具会省很多麻烦啊!

使用特权

评论回复
11
弹弓|  楼主 | 2014-3-4 12:52 | 只看该作者
shenzhenherry 发表于 2014-3-4 09:19
建议lz:
1、使用专门的源代码编辑软件来查看及修改源码,行业内流行的是 UltraEdit,和SourceInsight,这 ...

谢谢你。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

62

帖子

0

粉丝