打印

匠人逼良为**,菜农拒收裤子~~~

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
41
zyok| | 2009-1-18 22:44 | 只看该作者 回帖奖励 |倒序浏览

呵呵,其实前辈也该叫 周伯通

而不是 洪七公

使用特权

评论回复
42
hotpower|  楼主 | 2009-1-18 22:45 | 只看该作者

晕~~~老顽童和周伯通及黄药师都被人注册了~~~

使用特权

评论回复
43
hotpower|  楼主 | 2009-1-18 22:47 | 只看该作者

匠人逼良为**,菜农拒收裤子~~~

使用特权

评论回复
44
雁塔菜农| | 2009-1-18 22:51 | 只看该作者

俺也不收~~~

使用特权

评论回复
45
大雁塔菜农| | 2009-1-18 22:52 | 只看该作者

应该不收~~~

使用特权

评论回复
46
程序匠人| | 2009-1-18 22:52 | 只看该作者

呵呵,俺今天给大婶送了3条裤子,都不是为了人情

虽然说了是“送”,但那只是匠人戏言,并非真的徇私。大婶你收也得收,不收也得收。

另外:说到裤子的问题,其实匠人以前也解释过。斑竹加裤确实会因为各种原因而发生遗漏现象。这些原因包括:

1、遗漏、没有看到。毕竟斑竹也不是24小时值班的。

2、眼拙、没有领会帖子的奥秘。这是因为斑竹的技术并不能覆盖全部领域,会在掌握评判的标准时会有出入。

3、有些相同内容的帖子发得过于分散了,容易遗漏。比如前几天白沙兄一连发了十来个程序帖,匠人当时虽然帮他加了酷,但还是指出这种发贴方式不好。不利于读者阅读。最好的方法是,在一个主题贴下跟帖连发。


斑竹也确实有过把一些不是太精华的帖子设为酷贴。这一般是出于以下考虑:

1、鼓励新人

2、鼓励某些领域的讨论


对hotpower大婶,匠人加酷从不吝啬。并且也很诚心。大婶的“人情说”倒是反而有点见外了。

望大婶理解。

使用特权

评论回复
47
hotpower|  楼主 | 2009-1-18 22:59 | 只看该作者

既然匠人说“无情”,那就应该说出加酷理由,否则拒收到25

同时希望给版主写出加酷理由~~~

不为本贴,只为以后~~~

使用特权

评论回复
48
Batistuta_| | 2009-1-18 23:02 | 只看该作者

谢谢大叔指点。

“static uchar soft_dog_timer=0;//应该用局部变量,最好少用全局变量”

在这里,应该都是开辟一个单元存储吧,有什么不同呢?

使用特权

评论回复
49
computer00| | 2009-1-18 23:04 | 只看该作者

避免误操作

使用特权

评论回复
50
hotpower|  楼主 | 2009-1-18 23:07 | 只看该作者

静态局部变量实际就是全局变量,但作用域不同

当1个变量只在某个函数中一直生存,就应该用静态局部变量。
这样变量名的选择余地大且可和其他全局变量重名。

使用特权

评论回复
51
Batistuta_| | 2009-1-18 23:11 | 只看该作者

恩,呵呵。记下了。

谢谢大叔,00.   以前都用汇编,用C后,从来没有定义过静态变量。

使用特权

评论回复
52
hotpower|  楼主 | 2009-1-18 23:19 | 只看该作者

关于23楼程序2处bug的问题

Batistuta_ 发表于 2009-1-18 17:50 侃单片机 ←返回版面    

23楼: 这样? 

#define    SOFT_DOG_TIME  XX    // xx小于硬件狗溢出时间的一半
bit   **_soft_dog=0;

main()
{
  ... 
  while(1)
  {
     ...
     //-----------------
     **_soft_dog = 0;
     //-----------------
     ... 
  }
}

time_interrupt()    //通用定时器
{
  ...
  //--------------------------
  if(**_soft_dog)
  {
     soft_reset();        //软件复位
  }
  else
  {
     **_soft_dog = 1;
  }
  //--------------------------
  ...    
}
 
1.uchar soft_dog_timer=0;
因为它同时在主程序和中断中应用,故应该添加volatile修饰符。
可能Keil无事,但其他编译器未必。

2. 实际soft_dog_timer根本无用!!!
这个程序实际为:

#define    SOFT_DOG_TIME  XX    // xx小于硬件狗溢出时间的一半
bit   **_soft_dog=0;
uchar soft_dog_timer=0;
main()
{
  ... 
  while(1)
  {
     ...
     //-----------------
     **_soft_dog = 0;
     //-----------------
     ... 
  }
}

time_interrupt()    //通用定时器
{
  ...
  //--------------------------
  soft_dog_timer++;
  if(soft_dog_timer>=SOFT_DOG_TIME)
  {
     soft_dog_timer = 0;
  }   
  if(**_soft_dog)
  {
     soft_reset();        //软件复位
  }
  else
  {
     **_soft_dog = 1;
  }
  //--------------------------
  ...    
}

实际根本用不成~~~

使用特权

评论回复
53
hotpower|  楼主 | 2009-1-18 23:20 | 只看该作者

从来没有定义过静态变量---典型A人的特征~~~满地的全局变量~

使用特权

评论回复
54
Batistuta_| | 2009-1-18 23:27 | 只看该作者

soft_dog_timer还是有用的吧,俺本意是想:

俺一般程序中的通用定时器设置为1毫秒中断。中断处理各种事件,程序中的软件复位处理只是其中一项任务。

如果软件看门狗溢出时间设置为20毫秒,哪么SOFT_DOG_TIME = 20;

使用特权

评论回复
55
hotpower|  楼主 | 2009-1-19 00:36 | 只看该作者

20mS到你干什么了???仔细看看~~~

Batistuta_ 发表于 2009-1-18 17:50 侃单片机 ←返回版面    

23楼: 这样? 

#define    SOFT_DOG_TIME  XX    // xx小于硬件狗溢出时间的一半
bit   **_soft_dog=0;
uchar soft_dog_timer=0;
main()
{
  ... 
  while(1)
  {
     ...
     //-----------------
     **_soft_dog = 0;
     //-----------------
     ... 
  }
}

time_interrupt()    //通用定时器
{
  ...
  //--------------------------
  soft_dog_timer++;
  if(soft_dog_timer>=SOFT_DOG_TIME)
  {
     soft_dog_timer = 0;
  }   
  if(**_soft_dog)
  {
     soft_reset();        //软件复位
  }
  else
  {
     **_soft_dog = 1;
  }
  //--------------------------
  ...    
}

 
 

使用特权

评论回复
56
catwill| | 2009-1-19 07:50 | 只看该作者

很想找个师傅带带啊……

现在一直找不到方向啊……

使用特权

评论回复
57
Batistuta_| | 2009-1-19 08:14 | 只看该作者

嗯,是不对。

//--------------------------
  soft_dog_timer++;
  if(soft_dog_timer>=SOFT_DOG_TIME)
  {
     soft_dog_timer = 0;
     if(**_soft_dog)
     {
        soft_reset();        //软件复位
     }
     else
     {
        **_soft_dog = 1;
     }
  }   
  //--------------------------

使用特权

评论回复
58
hotpower|  楼主 | 2009-1-19 11:23 | 只看该作者

可以,但还是有病~~~

使用特权

评论回复
59
LPcfANS| | 2009-1-19 15:04 | 只看该作者

呵呵..

 古道热肠 发表于 2009-1-17 10:27 侃单片机 ←返回版面    

16楼: 哈哈,有趣 

不怕一万,就怕万一.
{//上电复位可认为SystemRamTest是随机且不可能为0x55aa}
万一上电时SRAM中就是55AA,您就无法复位DSP,写板型了.
要再上加强筋! 
 

使用特权

评论回复
60
yewuyi| | 2009-1-21 17:19 | 只看该作者

0X55AA虽然概率很低,但不能说没有概率,所以还是。。。

使用特权

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

本版积分规则