MSP430学习收获

一、程序中最好不要出现乘和除,影响效率。Aiver=Sum/16可以换成Aiver=Sum》》4;

二、低功耗就是精炼减少CPU工作时间。靠让CPU进入休眠来实现。只能用中断和复位可以唤醒休眠。

三、中断函数前加上__interruput关键字表明是中断函数式中断函数(注意是两个__),

四、#pragmati cvector=XXXX_VECTOR表明中断源。

五、代码优化问题,在时间和空间上找一个最好切合点,可以在Option—》Compiler->Optimzation-》C/C++选择优化级取向。Size or Speed

建议在调试时用LOW,在发布时用High.

六、函数命名采用模块名_功能名的方式。如; LCD_Init();

七、注释的时候对一个整体框架实现功能注释,还有关键语句注释即可。

八、用宏定义可以消除一些CPU的差异,如MSP430没有位操作,51有位操作。可以用

(MSP430) #defin LED_ON P2OUT |=BIT0;等价于(C51)#defin LED_ON=0;

九、用函数也可以消除CPU差异和硬件差异。函数命名不变,只要修改函数定义即可。这样就可以保持上层软件不变。

十、用Config.h的条件编译宏的方法来实现版本的管理。(参考网络文章《C条件编译和宏定义》)

/*指令             用途  
         #           空指令,无任何效果           #i nclude    包含一个源代码文件  
         #define     定义宏  
         #undef      取消已定义的宏  
         #if         如果给定条件为真,则编译下面代码           #ifdef      如果宏已经定义,则编译下面代码           #ifndef     如果宏没有定义,则编译下面代码  
         #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码           #endif      结束一个#if……#else条件编译块           #error      停止编译并显示错误信息 

*/

为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如:
/*my.h*/#ifndefMY_H

#defineMY_H……#endif


在程序中包含头文件有两种格式:

#include<my.h>

#include"my.h"
第一种方法是用尖括号把头文件括起来。这种格式告诉预处理程序在编译器自带的或外部库的头文件中搜索被包含的头文件。
第二种方法是用双引号把头文件括起来。这种格式告诉预处理程序在当前被编译的应用程序的源代码文件中搜索被包含的头文件,如果找不到,再搜索编译器自带的头文 件。
采用两种不同包含格式的理由在于,编译器是安装在公共子目录下的,而被编译的应用程序是在它们自己的私有子目录下的。一个应用程序既包含编译器提供的公共头文 件,也包含自定义的私有头文件。采用两种不同的包含格式使得编译器能够在很多头文件中区别出一组公共的头文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值