msp430单片机编程要点.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
msp430单片机编程要点

单片机C编程规范 【规则1】各个模块分别放到私有的文件夹,每个模块有自己的.C和.H文件 【规则2】工程中只有一个main.c文件,其中包含主函数 【规则3】声明的变量都放在.H文件之中 【规则4】头文件用 #ifndef _FILENAME_H_ #define _FILENAME_H_ //Extern int doSomething(); #endif 声明,防止头文件被重复利用。.C文件包含各自的头文件。 【规则5】工程中包含一个project_cfg.h文件,用来存放系统的配置。 #ifndef _PROJECT_CFG_H_ #define _PROJECT_CFG_H_ typedef unsigned char U8; typedef char S8; typedef unsigned int U16; typedef int S16; typedef unsigned long U32; typedef long S32; #endif 【规则6】用typedef声明类型 Typedef unsigned char U8 Typedef char S8 Typedef unsigned int U32 Typedef int S32 Typedef unsigned short U16 Typedef short S16 Static U8 s_ucName; //静态的 U8 g_ucName; //全局的 【规则7】变量的定义与使用,变量的定义应该有可读性。 U8 ucRet; U32 uiRet; Bit DoSomething(S32 siVal) 【规则8】用Tab 进行排版,所有不相关的语句都用空一行。 【规则9】函数的使用。函数名的定义要有可读性,似动宾结构。最好用get、set U32 GetUart(); //动宾的首字母都要大写 U32 SetUart(); 【规则10】源文件中开头,和函数之前都要写注释。重要的代码要用 // 来注释 /* *函数功能:配置串口参数 *入口参数:ncom串口号、波特率、校验 *返回参数:0 成功 -1失败 *描述: */ 【规则11】分支语句,都要以default结尾。特殊的需说明。 Switch(a) { case 1: break; case 2: break; case 3: break; case 4: break; default: break; } 【规则12】区分strcpy与memcpy 【规则13】开辟字符串空间的时候要+1 Char scBuf[Len+1]; 【规则14】所有的变量、指针使用前都要初始化,检查合法性。 【规则15】程序中加入挑错检错的预言accert、try-----catch 【规则16】做一套调试分析函数,有利于系统调试。 【规则17】注意数组越界、宏定义越界 【规则18】慎重使用库函数malloc、new。 Char *pc=(char *)malloc(100); Free(pc); //释放空间 Pc=NULL; //防止产生野指针。 【规则19】结构体、枚举、共同体声明格式. Typedef struct _COM_ST_ { U32 uiA; U32 uiB; } COM_ST; Typdef enum _COM_ST_ { U32 uiA; U32 uiB; } COM_ST; 【规则20】多使用enum提高程序的健壮性、可读性。多使用union节省空间 【规则21】会使用goto语句 【规则22】避免多个功能在一个函数完成,一个函数只完成一个功能。每个函数必须考虑了留有足够的接口供其他人员使用。 【规则23】时间准确性要求较高的代码要嵌入汇编。 【规则24】一行只能放一条语句,不能放置多条。 【规则25】对于赋值语句,等号和数值保持垂直对齐。 DispSegTblIx = 0; DispDigMsk = 0x80; DispScale = 1.25; 【规则26】所有的逻辑括号要对齐,只能是 If(1) { } Else { } 不能是 If(1){ }else{ } 【规则27】块代码注释使用#if 0 #endif 【规则28】局部变量与全局变量不能同名 【规则29】所有的函数返

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档