- 25
- 0
- 约1.34万字
- 约 51页
- 2017-07-21 发布于湖北
- 举报
1.3.7 库函数 IAR EW430提供100个库函数 Ctype.h 字符处理类 Math.h 数学类 Stdio.h 输入和输出类 Stdlib.h 通用子程序类 String.h 字符串处理类 库函数是C语言通用的,内部函数与特定处理器有关。 青岛大学-TI 大学生创新中心 傅强 * 1.4 文件管理 将大程序划分为若干小的C文件,最常用的划分方法是按功能模块划分(对象)。 /* DataProcess.c */ int Sum(int a,int b,int c) { int y; y=a+b+c; return(y); } float Average(int a,int b,int c) { float y; y=a+b+c; return(y/3); } /* DataProcess.h */ Extern int Sum (int a,int b,int c); Extern float Average(int a,int b.intc); /* main.c */ #include “DataProcess.h” ... void main() { ... Tem=Average(tem1,tem2,tem3); Weight=Sum(W1,W2,W3); ... } 青岛大学-TI 大学生创新中心 傅强 * 全局变量的处理 隶属关系模糊的全局变量单独建global.c 隶属于某模块的,写在模块c文件中 /* global.c */ int BattVoltage; unsigned int SystemStatus; int Temperature; /* global.h */ Extern int BattVoltage; Extern unsigned int SystemStatus; Extern int Temperature; /* DataProcess.c */ Unsigned char OverflowFlag; int Sum(int a,int b,int c) { int y; y=a+b+c; If(y65535) OverflowFlag=1; return(y); } /* DataProcess.h */ Extern int Sum (int a,int b,int c); Extern unsigned char OverflowFlag; 青岛大学-TI 大学生创新中心 傅强 * 1.5 代码优化 编译器可自动对代码进行优化 速度快,但占rom多 速度慢,占rom少 可选优化等级,等级越高,占rom越小 调试阶段最好关闭优化 要是不优化还有变量改变,则加volatile 青岛大学-TI 大学生创新中心 傅强 * 1.6 风格 对于写程序代码,有3个层次 首先,计算机要能读 其次,要自己能读 最后,要别人能读 青岛大学-TI 大学生创新中心 傅强 * 1.6.1 变量命名规则 变量名要有含义,不要随便用abcxyz 变量名最好是名词词性,1-4个单词 每个单词首字母大写 Int InputVoltage; Int Temperature; 必须出现空格时,用下划线代替 Int Degree_C; Int Degree_F; 单词较长,适当简写 int NumOfInputChr; Int Deg_F; 多个模块都有的变量,按“模块名_变量名” Char ADC_Status; Int UART1_RxcharCnt; 约定俗成的变量不要改动 I、j作为循环变量,p、q作为指针,s、t表示字符串 青岛大学-TI 大学生创新中心 傅强 * 1.6.2 函数命名规则 模块名_不及物动词 模块名_及物动词+名词 首字母大写 专用名词全部大写 长单词缩写 返回值是布尔型的,对返回1还是0的表意清晰 Unsigned int ADC16_Sample(); Char LCD_Init(); Char RTC_Get(); Void PWM_SetPeriod(); Void Flash_WriteChar(); Void UART_GetChar(); Char Key_GetKey(); Char TouchPad_GetKey(); Transmit Tx Recetive Rx Count Cnt To 2 Char UART_CheckTxBuff();//检查缓冲区 Char UART_IsTxBuffFull();//缓冲区是否已满 青岛大学-TI 大学生创新中心 傅强 * 1.6.3 表达式 好的表达式可以朗读出来 消除歧义,运算
原创力文档

文档评论(0)