打印

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

[复制链接]
3848|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 | 只看该作者

收下了!

^_^ 老王的动作真快

使用特权

评论回复
5
wangkj|  楼主 | 2008-8-29 11:24 | 只看该作者

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

就乱套了。

使用特权

评论回复
6
xwj| | 2008-8-29 12:52 | 只看该作者

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

使用特权

评论回复
7
程序匠人| | 2008-8-29 14:37 | 只看该作者

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

使用特权

评论回复
8
wswh2o| | 2008-8-29 17:58 | 只看该作者

我看很多

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

if(1){
    exe();
}

使用特权

评论回复
9
今晚打老虎| | 2008-8-30 00:49 | 只看该作者

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

一般看得多的都是
while(1)
{
   task1();
   task2();
   task3();
   task4();
   ...
}
个人感觉这样的结构更清晰些。

使用特权

评论回复
10
zhaor| | 2008-8-30 07:31 | 只看该作者

是极其简单!错别字!

极其简单

使用特权

评论回复
11
wangkj|  楼主 | 2008-8-30 09:21 | 只看该作者

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

我用到是pascal风格。
另外,我这个是单个任务,只有一个task();后台的到程序是计时程序,不算任务,是中断,裸奔,no os。裸奔要比os快多了,俺绝对主张高手不用os :)
错字是google输入法到问题,顺手写的。

使用特权

评论回复
12
gyt| | 2008-8-30 11:38 | 只看该作者

挺好挺好

使用特权

评论回复
13
wch16621| | 2008-9-21 11:06 | 只看该作者

很简洁

使用特权

评论回复
14
小匠| | 2008-9-22 16:52 | 只看该作者

看起来不错,嘿嘿!

初来乍到,多多关照。

使用特权

评论回复
15
tu312| | 2008-10-3 10:56 | 只看该作者

kankan

使用特权

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

本版积分规则

581

主题

9976

帖子

24

粉丝