| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:功能机实例
取消只看楼主 加入收藏
liaocao2014
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2014-4-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
功能机实例
功能机实例
代码太多调用,我就简单把编程思想写在下面吧

EVENT代表信号强度,有1 - 4 ,4个值
move代表手机在移动,移动的越远,信号越低

if(move)
{
    switch(EVENT)
    {
        case 1:显示信号一格;break;
        case 2:显示信号两格;break;
        case 3:显示信号三格;break;
        case 4:显示信号四格;break;
    }
}

我现在要做的就是在每降一格信号的时候,发生报警提示,也就是下面这样
ant_fun()是报警音

if(move)
{
    switch(EVENT)
    {
        case 1:显示信号一格;ant_fun();break;
        case 2:显示信号两格;ant_fun();break;
        case 3:显示信号三格;ant_fun();break;
        case 4:显示信号四格;break;
    }
}

但是现在问题出来了,因为这段代码在机器启动后一直在调用,所以一旦响起来了就会一直响,而且不分

减弱或者增强
后来我就试了试静态变量
static int i = 3;
因为这段代码一直在被调用,我就加上while(1)吧,改后如下


while(1)
{
  static int i = 3;
   if(move)
  {
    switch(EVENT)
    {
        case 1:
        {
            显示信号一格;
            if(i == 1)
            {
                ant_fun();
                i--;
            }
            break;
        case 2:显示信号两格;
            if(i == 2)
            {
                ant_fun();
                i--;
            }
            break;
        case 3:显示信号三格;
            if(i == 3)
            {
                ant_fun();
                i--;
            }
            break;
        case 4:显示信号四格;break;
    }
  }
}

这样只会响一次,因为静态变量只能定义一次,所以下次调用这段代码就不会改变i的值,但还是有问题

,就是从4格信号到3格信号会响一次,而且只会响一次,后面信号增强到4格后,如果减弱到3格又不会响



能力有限,下面怎么改才完美呢,
这段代码对我而言的难点如下

1.这段代码是反复调用的,所以改不改铃声的函数都一样,只要铃声函数响,就必然在每次调用的时候都

一直响,这样也就不能实现例如只响一声或者两声的意义

2.信号减弱回响,但是信号恢复正常了,再减弱也要响,那就必须某个条件变量跟着节奏走,这个条件变

量怎么写呢?


忘高人前辈能花点时间不吝赐教!

万分感激!

如果我有表述不清的地方,无论严厉还是婉转的指出,我都会悉心改正!



我再CDSN也发帖了,这样没问题吧
搜索更多相关主题的帖子: 手机 
2014-08-08 09:52
liaocao2014
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2014-4-27
收藏
得分:0 
回复 2 楼 rjsp
大哥,你好大的怨气啊!非常感谢,祝你每天生活愉快!
2014-08-08 17:43
快速回复:功能机实例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025739 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved