首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

※学习MC9S12单片机——软件篇※ 不断更新中

请教:
void TimerOverflow(void) {
/* This function waits for th timer overflow.
Then it changes the LEDs bargraph display */
while (TCNT != 0x0000);
while (TCNT == 0x0000);
counter++;

这一段中两个while循环起什么作用呢?我的理解是,当TCNT不等于0000时,执行后面的,分号内为空,所以又执行下一句while,结果还是只判断了一下。综合一下,TCNT不是0000,就是非0000,这两句while有什么用呢?谁能点拨一下
刚才我自己又想到了一点,是关于while的,首先判断while后条件语句的值,为真则执行循环内的语句,之后马上返回while循环的顶部再次对表达式求值,如果仍为真则继续循环,否则(表达式为假)才绕过该循环,执行下一个语句,所以,这句话……还是有些不解,不太清楚TCNT != 0x0000的判断意图
昨天是周六啊,大家也是要休息的,怪不得没人回了,自己先顶一下。周一期待。
前天晚上,华中地区大雪,气温下降较快,不过今天又是大好的晴天。沐浴在这么好的阳光下,不多多学习怎么成呢?
一上班,把帖子顶起来先

顶一下

我对硬件不熟悉。不明白,TCNT是什么端口。
while (TCNT != 0x0000);
while (TCNT == 0x0000);
应该这样解释: 当TCNT不为0时,程序停在这里做循环。直到 TCNT为0;
                         随后,继续做第二个循环,程序又停止。直到 TCNT不为零。

这时, counter增1。

应该时用 counter来计算 端口 TCNT 传进来的 不为0 的 短整数的个数。
[em27][em27]
一名专业的嵌入式软件开发工作者
TCNT是该MCU的定时器计数寄存器
“用 counter来计算 端口 TCNT 传进来的 不为0 的 短整数的个数。”这样似乎有点道理 Thx hlzhangxt
结合整个程序来说,还是有点不明白

明白了

应该是计算 计数器 益出的次数,根据益出的次数,依次点亮 portb 控制的 led.
一名专业的嵌入式软件开发工作者
明白了,hlzhangxt帮俺不止一次啦。^_^
哥哥,你学习c语言多久了,我建议你先看看C语言编程的课本。while语句是不循环的,do while才是循环与据
兄弟,俺是一边看程序,一边复习C,感觉基础不牢靠,汗颜啊,不过,应该很快会赶上来地,支持一下
aguang1024兄弟说:while语句是不循环的,do while才是循环与据。
现在就有一个不得不说的事情:while与do/while循环非常类似,区别在于do/while语句是先执行循环后判断……二者只要表达式为真,就会执行循环。
新手的一点理解,见笑

while是循环

我用来 成百上千 次 while, 如果不做循环,那么 if 语句做什么用呢?[em12][em12]
一名专业的嵌入式软件开发工作者

各位同仁,帮忙!

从读研究生算起,做软件开发都快 9 年了,从上层开发, VC++ , delphi, 数据库
到现在的嵌入式开发,可谓:曾经沧海难为水,除却巫山不是云!
英雄穷途末路........, 我们公司外资方撤资,要变成纯正 国企 了, 情势不妙.........
哪位仁兄有工作机会,给推荐一下......, 小弟有礼了..........
hlzhangxt@yahoo.com.cn[em25][em25][em09][em10][em08][em04]
一名专业的嵌入式软件开发工作者
本来是来学MC9S12的,可现实还是现实,在我还没发掘难以解决的问题前,况且hlzhangxt需要同仁的help,就再借宝地转发一下帖子,激励一下,或许有写启发,天无绝人之路嘛。你至少好是个研究生嘛……
From 21ic (转贴)   
                          一个研究生毕业以后的人生规划
我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训。现在开一个小公司,赚的钱刚够养家糊口的。看看这些刚毕业的学生,对前景也很迷茫,想抛砖引玉,谈谈自己的看法,局限于理工科的学生,我对文科的不懂,身边的朋友也没有这一类型的。

  91年研究生毕业,那时出路就是1种:留在北京的国营单位,搞一个北京户口,这是最好的选择。到后来的2~3年内,户口落定了,又分成4条出路:

  1、 上国内的大企业,如:华为
  2、 自己做公司,做产品开发;
  3、 上外企,比如:爱立信、诺基亚
  4、 自己做公司,做买卖;
  5、 移民加拿大

  我想,首先要看自己适合做什么?做技术还是做买卖。

  做技术,需要你对技术感兴趣。我掰着数了一遍,我们研究生班的30来号人,实际上,适合做技术的,大概只有3、4个人,这几个人,1个现在还在华为,3个移民加拿大了,现在这4个人混的还可以,在华为的同学也移民加拿大了,他在华为呆了6年,在华为奖金工资加起来大概30万吧,还有华为的股票,再过几年,华为的股票一上市,也能值个100~200万。要是一毕业就去华为,那现在就绝对不是这个数字了。

  要是做技术,最好的就是上大公司,国内的大型企业,象华为中兴肯定是首选,能学到很多东西。华为虽然累,但是,年轻人不能怕累,要是到老了,还需要去打拼,那才是真的累啊。

  在外企,我想他们主要就是技术支持和销售,但是技术是学不到的,当然不能一概而论,我指的是象爱立信和诺基亚,真正的研发不会在中国做的,学到的也不如在华为多,其它的中兴我不是很了解,我想应该也不错啊。一个人都有一技之长,有傍身之技,那是最好的,走到哪里,都能有一口饭吃,还吃的不错,这是传统的观点。

  任何技术都是要在某个行业去应用,这个行业市场越大当然越好;要在一个领域之内,做深做精,成为绝对的专家,这是走技术道路的人的选择。不要跳来跳去,在中国,再小的行业你要做精深了,都可以产生很大的利润。

  研究生刚毕业的时候,做产品开发的有不少人,都是自己拍拍脑子,觉得这个产品有市场,就自己出来做。现在看来,我的这些同学,做产品开发的成功的没有一例,为什么?资源不足。

  1. 资金,刚毕业的学生啊,就是没钱;没钱,也意味着你开发的东西都是小产品;而且只能哥几个自己上,研发、生产、销售都是一个人或者几个人自己来,没有积累,什么都是重新来过。

  2. 人脉,任何一个行业,要想进去,需要有很深的人脉,否则,谁会用你的东西啊?谁敢用你的东西啊?

  我看到的我这个班上开发产品的,自己还在坚持的,只剩下一个人了,说实在的,到现在,没有自己的汽车,也没有自己的房子,混的挺惨的。现在出国的不说了,在外企、在华为,至少都是几十万的年薪了,还有各种福利,就是产品开发成功了,又能如何?也就是这样了,但是以前那些年,都没有金钱的积累,等于白干。

  我身边的一个自动化系的研究生班的同学,能靠自己开发产品活得还可以的,也只有2个人。说明这条路不是那么好走的啊。

  其次就是上外企。我的2个同学,一个上了爱立信,一个先到爱立信后到诺基亚,都混的不错。到诺基亚的后来利用在诺基亚结识的人脉(就是哪些电信的头头脑脑),自己开了公司,也赚了不少的钱。

  外企最大的好处就是除了能学到比较规范的管理外,还能给你的职业生涯镀金。到了一个外企外,再到同行业的外企我想就很容易了。而且外企的收入高啊。

  自己做公司,做买卖,一开始有3~4个人走这条路,但是真正发财的只有一个人,其他人后来上外企了。做买卖,还是要有一定的天赋,还有机遇。要有对金钱的赤裸裸的欲望,要有商业上的头脑。后来我们同学在一起谈,说,我们即使给自己这个机遇,也未必能做的好。何况当时那个同学看好的产品(做一个台湾产品的代理),我们大家都没有看好,说明,真理还是掌握在少数人手里。

  到后来,同学们纷纷移民移民加拿大。

  移民加拿大对搞技术的人来说,还是一个不错的选择,但是要尽早,练了几年的技术,就赶紧出去,大概是在1996年走了不到10个,现在都还可以,买了房子和车了。要是晚了,语言再学也难了,而且在国内都混的还可以了,也就没有必要出去了。
我自己呢,先是在国营的研究所混了4年,后来到一家公司干了6年,2002年出来自己做公司,现在也就是混了一个温饱吧,算是有房有车,有点积蓄,但是不多,还有一个可爱的女儿。回首这10来年,有一些经验和教训。

  1. 要有一个职业生涯的规划。首先需要定位自己做什么合适,是做买卖还是做技术,一条路走到黑;当然,做了技术,后来改行也行;

  2. 做技术,就是要做精做深,成为这个行业的这个技术的专家;最好就是去国内的大公司,才能全面学到东西,能够给你培训的机会;如果大公司进不去,先到小公司练技术,找机会再到大公司去镀金,学高深的技术。千万不要自己做产品,要做也是对这个行业熟悉了,再去做。

  3. 积极争取机会。积极争取学习和进步的机会。比如,做技术,就需要多锻炼,多学习,来提高自己的水平。一门技术,只要有机会去学习,都能学的会;要是没有机会,天才也没有办法学到这个技术。柳传志就说,杨元庆就是“哭着喊着要进步”,实际上,就是争取自己的机会;当然,这种强烈的进步欲望,也是领导看重的地方。每一步都走在前面,积累10年,你就有了比其他人更多的机会了。

  4. 积累个人的信誉。从你的职业生涯的第一天,就要按照诚信的原则办事。要做到,当人们提起你的名字的时候,说,这哥们还不错,做事还行。

  5. 注意利用资源。如果你有有钱的亲戚、成功的长辈或者朋友,可以充分利用这些机会,得到更加顺利的发展前景。

  6. 注意财富的不断积累。人生要想得到自由,财富是很关键的。否则,永远仰人鼻息,永远看人脸色。人都是势利眼。今后的家庭、职业生涯,金钱的积累很重要,没有钱,永远不能开张自己的事业,得到更多的机会;财富要做到逐年积累,你才能家庭生活幸福。没有钱是不可能有幸福的家庭的。

  7. 注意人脉的积累。最终,事业要靠在社会上的人脉的资源。要注意认识在你这个行业的人,结交他们,最终他们会成为你事业上的助力。

  8. 寻求贵人相助。要找大老板来帮助你,得到大老板的赏识。想想看,大蛋糕,切一点就够了,小蛋糕,都给你也吃不饱啊。

  9. 多听听成功的前辈和成功的朋友的意见。注意少听家里长辈的意见,尤其是都已经退休的长辈,他们对社会的认识还停留在很久以前,而这个社会已经发生很大的变化呢。最重要的是,长辈有时候会强求你做一些事情,但是,最终的结果他们是不负责的。只有你才能对自己负责。
(又一转贴)

几点个人感受

1、 满足是短暂的,不满是永久的;
2、 一定要做好职业规划,给自己明确定位和发展路线;
3、 如果感觉工作没有意义,没有发展和学习空间,尽早离开;
4、 在困境中坚持学习,哪怕自己买书买报看;
5、 任何一份工作,即使感觉一无是处,也有其可取之处,正所谓“尺有所短,寸有所长”;
6、 不要过分计较薪水;
7、 哪怕感觉没有任何希望,也不妨一试,机会往往就降临了;
8、 现在没有高薪水、高职位,不代表以后没有;
9、 再也不想过投简历、应聘、面试的日子;
10、没有一家公司是完美的,总是比想象中的差很多,所以不能这山望着那山高;
11、在职场初期给自己找一个标杆人物,虽然不必复制他的道路,至少能够给自己提供动力;
12、说实话,我很羡慕那些著名高等学府毕业生,拥有很高的学历和能够接触大量人和事的工作环境,这三样东西其实很有用

进入国企是不是意味着收入少啦,竞争少了?还是其他什么考虑?走出去,会有属于自己的地方

还是言归正传,回到,我接触的都是写软硬件方面结合的事情,介绍几个我刚刚看过的软件滤波方法的示例程序,还有点启发,程序倒是挺简单,但实际中还是蛮有用的——

限副滤波
/*  A值可根据实际情况调整
    value为有效值,new_value为当前采样值  
    滤波程序返回有效的实际值  */
#define A 10

char value;

char filter()
{
   char  new_value;
   new_value = get_ad();
   if ( ( new_value - value > A ) || ( value - new_value > A )
      return value;
   return new_value;
         
}
返回列表