我的巨型触摸屏的主程序,及其精简

[复制链接]
4847|14
 楼主| wangkj 发表于 2008-8-28 17:04 | 显示全部楼层 |阅读模式
  while(1)
  {
   if ((char_can_read()>=1))
         {
        cmd=get_char();
        if (cmd==0x0a) //pc发送不同的命令字,可以执行不同的操作
        {              //其他功能可以用else添加。
                      //0x0a要求扫描一周,所有把数据上传。
              for(i=0;i<IR_NUM;i++)
            {
                RCLK=0;        //移位操作
              if (i==0)
                D_OUT=1;    //红外发送,只有一个1(点亮)
              else 
                D_OUT=0;    //其他红外管要关闭
              RCLK=1;        //srclk和rclk管脚相连,上升沿送入数据,并移位
              //nop();nop();  
              delay1ms();    //延时2ms,手册说明,红外接收要求100个脉冲,这确实影响相应时间
              delay1ms();   //但是,有的接收管不需要这么多,是否可以更少的脉冲有效需要测试
                            //如果需要更快的相应时间,可以找10个脉冲有效的接收元件。
              MCU_PL=1;      
              nop();nop();
              MCU_PL=0;     //使能端为低电平时8位数据进入寄存器 
              nop();nop();
              MCU_PL=1;        //高电平数据锁存,同时165数据自动移1位
              if (D_IN)     //已经有1bit移出
                ch=0x80;
              else
                ch=0;
              for(j=1;j<IR_NUM;j++) //读取红外接收管的值,通过串口发送出去
              {
                MCU_CLK=0;
                nop();nop();
                MCU_CLK=1;
                ch=ch>>1;
                if (D_IN)    //又有1bit移出
                  ch|=0x80;
                if (j%8==7)
                  send_char(ch);
              }
             }
         }
         else
         {
         }
      }
  }
sodwell 发表于 2008-8-28 17:21 | 显示全部楼层

re

王会计,这程序是复制过来的,还是在网页上写的啊?看起来乱乱的,空格都没有,编程规范有待加强啊..
哈哈哈哈哈
mohanwei 发表于 2008-8-28 18:50 | 显示全部楼层

我一般用ue缩进后,再把“TAB”替换成4个空格

也可以在配置里直接把TAB转换成4个空格,但是一般不推荐那么用。
常来21ic 发表于 2008-8-29 10:26 | 显示全部楼层

收下了!

^_^ 老王的动作真快
 楼主| wangkj 发表于 2008-8-29 11:24 | 显示全部楼层

用keil c写的,一点不乱,到这里可能缩进不同

就乱套了。
xwj 发表于 2008-8-29 12:52 | 显示全部楼层

论坛发帖前要先把Tab转换成空格才会不乱

程序匠人 发表于 2008-8-29 14:37 | 显示全部楼层

做个记号,回头给你穿短裤

wswh2o 发表于 2008-8-29 17:58 | 显示全部楼层

我看很多

我看很多程序括号都不是这么对齐的,都是这样子

if(1){
    exe();
}

今晚打老虎 发表于 2008-8-30 00:49 | 显示全部楼层

呵呵,好象看起来有点乱哦

一般看得多的都是
while(1)
{
   task1();
   task2();
   task3();
   task4();
   ...
}
个人感觉这样的结构更清晰些。
zhaor 发表于 2008-8-30 07:31 | 显示全部楼层

是极其简单!错别字!

极其简单
 楼主| wangkj 发表于 2008-8-30 09:21 | 显示全部楼层

大小括号到位置看个人习惯

我用到是pascal风格。
另外,我这个是单个任务,只有一个task();后台的到程序是计时程序,不算任务,是中断,裸奔,no os。裸奔要比os快多了,俺绝对主张高手不用os :)
错字是google输入法到问题,顺手写的。
gyt 发表于 2008-8-30 11:38 | 显示全部楼层

挺好挺好

wch16621 发表于 2008-9-21 11:06 | 显示全部楼层

很简洁

小匠 发表于 2008-9-22 16:52 | 显示全部楼层

看起来不错,嘿嘿!

初来乍到,多多关照。
tu312 发表于 2008-10-3 10:56 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

580

主题

9972

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部