打印

【转贴】msp430的C语言与C51的一点区别!

[复制链接]
2125|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
3B1105|  楼主 | 2011-11-29 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C430与C51语法上基本一样,但是编程有些地方要注意,以下是我遇到的:

        1.如果要判断P2.0是否为1,C51可以写为:if( P2&BIT0 == BIT0 ) ,但是在C430会得不到结果,要写为:if(
        (P2&BIT0) == BIT0 ) 才对。

        2.在C51中如果要让程序等待可以直接用while(1),但是写C430程序时我曾经遇到while(1)无效,后来发现是我没设置WDT,加入WDTCTL
        = WDTPW+WDTHOLD,一切正常。

        3.C51有bit flag等指令来定义位,而MSP430没有相关指令,但是可以这样实现:先定义一个变量 uchar
        flag,这样就有8个位变量可以使用,
        假设C51有这样的程序:
        bit rflag;
        rflag = 0;
        while(rflag==0); //等待
        在C430里可以写成:
        uchar flag;
        flag &= ~BIT1;
        while( (flag&BIT1) != BIT1 );
        效果一样

相关帖子

沙发
金鱼木鱼| | 2011-11-30 19:23 | 只看该作者
区别微乎其微

使用特权

评论回复
板凳
永远的不知| | 2011-11-30 19:58 | 只看该作者
第2条,如果开了看门狗不喂狗,程序自然会复位。

使用特权

评论回复
地板
hawksabre| | 2012-5-28 16:17 | 只看该作者
区别不大  看看  呵呵

使用特权

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

本版积分规则

个人签名:http://yiguibugui.taobao.com/

315

主题

1645

帖子

4

粉丝