EDN首页   博客首页

最新日志

发表于:2007-8-2 11:47:56
标签:无标签

3

PPC版的调试助手

好久没更新博客了,最近在设备上增加了一个蓝牙模块,通过蓝牙虚拟串口与PDA收发数据。在网上下载了一个PDA上的串口调试工具,发现串口号最大只到串口4,而PDA上入站COM端口是8,入站端口号是6。
没法用,于是就自己开发了一个PPC版的调试助手。可以发送和接收8位16进制数据和普通字符,点击defult按钮,发送16进制数据"02 ff 10 ff 03"。
rar

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(1086)
发表于:2007-6-21 14:53:16
标签:无标签

0

做坏人or做好人

    昨天下班在城铁站碰到一件事情,觉得有必要把它写下来。

    事情是这样的:大家在西直门站排队等城铁,车来了以后,一位知识分子模样的中年妇女突然插到了队伍的前面。后面有人质问,这位女士便一脸愤世嫉俗的辩解起来:“因为他插队,”她指着一个插队的人说,“我干吗还要排队,这不公平”。上了车以后,此位女士还好像受到了天大的委屈一样不停抱怨,并为自己开解,结果自然是遭到众人的白眼。

    小时候看《上海滩》时,总觉得导演不该为许文强安排一个悲剧的结局。长大后才渐渐明白其中的原因:其实他这样一个矛盾的人有这样的结局是再恰当不过了。从内心来说,他希望做一个好人,可是又觉得作好人会被当时那个邪恶的社会所不容;于是就去做坏人,但做了坏事又被自己的良心所谴责,终日痛苦不堪。结果好人坏人都做不成,当然会被社会所抛弃。

    上面提到那位女士的情况和许文强有些类似,并且我认为这也反映了现今中国社会相当一部分知识分子的心态。一方面,多年学习所积累的良知令他们希望自己处在一个和谐的社会,人与人之间能够相互忍让、尊重;但另一方面,由于无法抛弃中国社会几千年来形成的根深蒂固的小农观念,他们又十分吝惜眼前的一点点蝇头小利,去与那些社会上不道德的行为同流合污。就如同那位女士,她之所以上车以后还不断为自己辩解,摆出一幅好像全世界都亏欠她的面孔来,就是因为她已经意识到自己做了错事,受到了良心的谴责,但又不肯接受这个现实。往往这样的人内心会是很痛苦的。
  
    曾经看过两个个故事,好像是在李敖大师的书里。一个说得是我们的民族英雄郑成功因为他的母亲被清兵奸污致死,郑成功得到了母亲的尸体后,就不断的用水银冲洗,一遍又一遍;另一个故事发生在俄国,一个很漂亮的姑娘做了妓女,每天拼命的接客,赚了好多钱。有一天她突然对同伴说:“你们知道吗,我还是处女”。同伴大惊,原来她是一名共产党,接客是为了党筹措资金起义。她认为虽然她的身体被奸污了,但她的心灵是高尚的。

    我觉得人活在世上其实是活在我们的主观世界里,同样一件事情不同人眼中结果可能会不同。郑成功用水银刷洗的其实不是他母亲的身体,而是他心中不能解开的死结。同样对于那些迷茫矛盾的知识分子,我要说做人要豁达,要么去做一个坏人,为了眼前的小利不惜违反道德,也不会受到良心的谴责;要么就做一个堂堂正正的好人,安贫乐道,不去同流合污,做什么事情都心安理得。绝对不要去做像上面提到的那位女士那样的人,不屑于做坏事却做了坏事,又不停的受到良心的谴责,这种人注定终生不会快乐。

    这是本人的一点感悟,希望也能听听大家对做人的看法。欢迎回帖!

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(621)
发表于:2007-6-19 18:11:17
标签:无标签

0

使用看门狗的一点经验

以前做项目时用到看门狗,在使用时遇到一些问题,现在写下来和大家分享:

用到的芯片是LPC2292,内置有看门狗功能。
/****************************************************************************
* 名称:WdtFeed()
* 功能:喂狗
* 说明:
****************************************************************************/
void WdtFeed(void)
{
 WDFEED = 0xAA;
 WDFEED = 0x55;
}
/****************************************************************************
* 名称:WdtInit()
* 功能:启动看门狗
* 说明:
****************************************************************************/
void WdtInit(void)
{
 WDTC = 0x500000;
 WDMOD= 0x03;
}
在程序中的一些关键处进行喂狗,结果发现程序不能正常运行,经过排错发现原来是主程序中的喂狗函数影响。

   WdtInit();           //使能看门狗
   ...
   while(1)                         
   {//1
    WdtFeed();//喂狗
    if( )       
    {
      Test();
    }
    else  if()  
    {
    Sleep(); 
    }
     else  if()  
    {
   Wakeup();
    }
     else  if()  
    {
   SelfTest();
      ...
    }
 
ARM模块程序的基本框架是通过while(1)死循环等待外部中断,中断来临后接收上级模块传送来的数据,并对其进行解码。于是上网尝试查找答案。发现一个帖子对这个问题进行解答。他的答案如下:

"在周立功的<<ARM微控制起基础与实战>>里关于看门狗喂狗寄存器WDFEED有一句话:
向WDFEED寄存器写入0XAA的下一个操作应当是向WDFEED寄存器写入0X55"

意思就是说向WDFEED寄存器写入0XAA和0X55之间的空闲时间里,中断可能突然发生,从而没有完成一次喂狗操作,程序发生自动复位。

他建议把喂狗函数改成下面的形式:
/****************************************************************************
* 名称:RstWdt()
* 功能:看门狗喂狗操作。
* 入口参数:无
* 出口参数:无
* !!!!喂狗操作必须是写完0xAA后下一步是写0x55,就是说不能被中断,否则复位
****************************************************************************/
void  RstWdt(void)
{
   IRQDisable();  //关中断
   WDFEED = 0xAA;
   WDFEED = 0x55;
   IRQEnable();        // 打开中断
}

看到这里,我对这位老兄的崇敬简直有如滔滔江水,连绵不绝。这么细节的问题都能想到,实在是高手之中的高手。于是按照他的方法改进程序,结果上电后发现问题依然存在,接着我改变了WdtInit()中设置的定时器初值,让程序自动复位的时间远大于完成一次循环所需要的时间,结果问题依然无法解决。

此时,我觉得此君有可能是个书呆子,没有什么实战经验。最后,经过反复的摸索,终于找的了解决问题的方法,其实很简单,在喂狗以后立刻跟一个延时函数就可以了。如下:
  while(1)                             // 等待中断
   {
   
    WdtFeed();//喂狗
    delay(10);//不能删除
    ...
    }
   
后来,从一些高手那里得到的经验,在写ARM和单片机程序中,延时函数会被常常用到。表面看来在逻辑上可能没什么道理,但实际上在用C/C++编写硬件程序时,由于他们的编译器不可能做得像VC那些纯软件编译器那样完善,因而有时在语法上可能会同过,但实际运行起来往往会出现意想不到的问题。这些都需要通过在实践中去不断发现、积累。

写到这里,我不禁想起两句古诗“纸上得来终觉浅,绝知此事要躬行”。

点击此处查看原文 >>

系统分类: ARM   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(521)
发表于:2007-6-14 16:48:45
标签:无标签

0

从中国足球说起

        转眼间来EDN工作已经两周了,敬师姐一直要我开博克。其实我这个人脑子里的想法挺多的,可一时间又不知道该写点什么。恰逢,最近我们国奥队勇夺土伦杯亚军,而国家队在美国的热身却屡屡受挫。于是,就从足球说起吧!(呵呵,好像是偏离技术的主题了,第一次全当练练手吧)

        看了这么多年的中国足球,我最大的感受就是中国足球其实就是足协领导的“面子工程”。球队成绩好了,足协领导领导的仕途就一片光明;反之,就下台滚蛋。于是,主教练往往就成了足协领导到队员之间的传令兵。比如我们中国足球就常常出现这样的笑话:在中场休息时,本来教练员在为球员们作下半场的布置,突然足协领导驾临更衣室,一顿政治宣传,搞得球员和教练员都焦头烂额,哪还有心思去关注比赛。就拿这次美国拉练来说,长途旅行,在时差还没倒过来的情况下,在客场输给排名比自己高几十位的美国队,其实是情理之中的事,但足协领导的面子挂不住了,可笑的是某足协领导在返回北京的前一天夜里居然抱病把球员和教练们纠集到一起,通宵达旦,又是一顿政治轰炸。一句话,“外行领导内行”是对中国足球的最佳诠释。

        就拿这次两只国字号的球队命运差别如此之大来看。难道我们土教练和洋教练在业务上的差距就如此之大吗?我看不一定。从戚务生、沈祥福到朱广沪,哪个在俱乐部不是鼎鼎大名,不是也把洋教练打得落花流水吗,怎么一到国家队就熊了呢?没办法,我们这些从小接受奴役思想教育的中国人头脑中都深深刻有这样的念头:“要绝对服从上级领导,领导永远是正确的”。而那些国外教练往往没有这种包袱,往往会取得好的成绩。

        以老狐狸米卢为例,其实我认为米卢之所以能够在中国获得成功,其狡猾的性格为他提供了巨大帮助。一方面假意迎合足协领导,给足了他们面子;另一方面对于那些外行们下达的狗屁命令巧妙处之,能够坚持自己的东西,因而获得了成功。02年世界杯之后,米卢因世界杯上所谓“糟糕表现”而下台。其实我认为中国队在世界杯上的表现完全正常,输给世界冠军4球也完全是两队实力的正常反映。可偏偏那些足协领导们不肯承认这个事实,将米卢赶下台,找来了个听话的阿里汉,结果却是一败涂地。朱广沪受命于危难之际,取得了个四国赛的奖杯,可在球队成绩出现波动,老朱与足协的蜜月期渡过之后,足协领导的压力来了。一方面老朱没有米卢那种老狐狸般待人接物的技巧,另一方面他又缺少一个足球教练应有的固执(我个人觉得这点很重要,因为大多数外行,包括球迷、记者、足协领导他们的观点往往比较片面、业余,只有主教练才真正了解自己的球队,知道如何作出调整。因此,一个主教练如何能够在种种舆论批评的重压之下,保持冷静,不受外界干扰,坚持自己正确的东西,是一项很重要的素质),因此混到现在这个地步也就不足为奇了。

        最后,我想谈谈对中国足球前途的看法。我始终认为中国足球的发展其实是一项可持续工程,中国足球实力的提高决不是仅仅由于出现了几个好教练、好球员就能达到的。一个明显的例子,中国号称13亿人口的泱泱大国,可足球人口却比不上一些非洲的小国;大连足球之所以在国内长期称霸,就是因为他的足球人口远多于其他省市。老子有一句话:“治大国如烹小鲜”。中国足协的那些上层领导关注的应该是如何制定中国足球的整体可持续发展战略;而不是一旦看到眼下的成绩出了波动就“重症下猛药”,用行政命令来干涉球队的正常运作,这样做的后果只能使中国足球原地踏步,与世界的差距越拉越远!

        呵呵,以上纯属个人观点,与本网站无关,如有雷同纯属巧合!

 

 

 

 

 

 

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(612)
总共 , 当前 /