电商网站项目建设wordpress充值会员
文章目录
- 2 函数的使用
 - 1.函数定义(需要带类型)
 - 2.函数声明(需要带类型)
 - 3.函数调用
 
- 3 新建文件,使用模块化编程
 - 新建xxx.c和xxx.h文件
 - xxx.h格式:
 - 调用头文件
 - 验证代码
 - 调用:
 - 完整的文件结构如下:
 
- 验证代码2
 
- 总结
 - 课后练习:SOS求救灯光编写
 - 求救信号原理
 - 示例代码
 
2 函数的使用
在模块化编程里,函数使用分为如下三步:
1.函数定义(需要带类型)
返回值 函数名称( 入口参数 )
 {
 函数要执行的功能
 }
 @返回值:没有返回值就是void
 @函数名称:避开关键词(IDE中标蓝),不重复,非特殊字符随便取
 @入口参数:类型+名称,多个参数“,”分开,空就写void
2.函数声明(需要带类型)
返回值 函数名称( 入口参数 );
3.函数调用
函数名称( 入口参数 );调用的时候就只需要入参数,不需要带类型,
3 新建文件,使用模块化编程
新建xxx.c和xxx.h文件
新建xxx.c和xxx.h文件,代表一个功能块。推荐一一对应。
 点击新建,默认弹出的是text文件,未定义文件类型,点击保存,存储为math.c,并另存为math.h:
 
xxx.h格式:
#ifndef __XXX_H
 #define __XXX_H
 在math.h中加入固定搭配格式。
调用头文件
函数声明…
 #endif
xxx.c格式
 #include “xxx.h”
 函数定义
验证代码
math.h:
#ifndef __MATH_H  //if not define
#define __MATH_Hint Add(int parm1,int parm2);#endif
 
math.c:
int Add(int parm1,int parm2)
{return   parm1 + parm2;
}
 
在main.c中加入引用:#include “math.h”。
调用:
添加文件一定要记得引用路径和添加到工程里。
 
 全部保存,并双击图标,将math.c加入工程,
 
 编译完成,自动下载至开发板。打开CDC串口工具,清空数据区,发送数据,得到打印值:
 
 这样操作,主函数代码非常干净,便于大型项目的管理和组织。
完整的文件结构如下:

验证代码2
math.h:
#ifndef __MATH_H  //if not define
#define __MATH_Hint Add(int parm1,int parm2);  //parm1+parm2
int Sub(int parm1,int parm2);  //parm1-parm2
int Mul(int parm1,int parm2);  //parm1*parm2#endif
 
math.c:
#include "math.h"int Add(int parm1,int parm2)
{return   parm1 + parm2;
}int Sub(int parm1,int parm2)
{return   parm1 - parm2;
}int Mul(int parm1,int parm2)
{return   parm1 * parm2;
}
 
main.c中调用:
			printf("add(10,20)计算结果为: %d\r\n",Add(10,20));+printf("sub(5,2)计算结果为: %d\r\n",Sub(5,2));printf("Mul(5,6)计算结果为: %d\r\n",Mul(5,6));
 
正常执行。
 
总结
1.熟悉while的循环过程
 2.学会函数的使用(定义、声明、调用)
 3.学会新建文件,添加文件路径和添加到工程
课后练习:SOS求救灯光编写
求救信号原理
来源:爱问知识人:sos用灯光怎么表示
 三短三长三短
 SOS作为世界上通用的求救信号,如果用灯光信号来表示,三短亮代表字母S,三长亮代表字母O,再接着的三短亮代表S。
 灯的长亮时间是短亮时间的三倍,而短亮时间则与LED两次点亮的间隔时间相同,字母与下一个字母间也有三倍短亮时间的熄灭间隔。
示例代码
		//Swhile( time < 4 ){P22 = 0; //设置低电平	(屠龙刀三板载led)P24 = 0;delay_ms(500);P22 = 1; //设置低电平	(屠龙刀三板载led)P24 = 1;delay_ms(500);time++;}delay_ms(1000);time = 1;//Owhile( time < 4 ){P22 = 0; //设置低电平	(屠龙刀三板载led)P24 = 0;delay_ms(1500);P22 = 1; //设置低电平	(屠龙刀三板载led)P24 = 1;delay_ms(500);time++;}delay_ms(1000);time = 1;//Swhile( time < 4 ){P22 = 0; //设置低电平	(屠龙刀三板载led)P24 = 0;delay_ms(500);P22 = 1; //设置低电平	(屠龙刀三板载led)P24 = 1;delay_ms(500);time++;}delay_ms(1000);time = 1;```