在模块化编程里,函数使用分为如下三步:
返回值 函数名称( 入口参数 )
{
函数要执行的功能
}
@返回值:没有返回值就是void
@函数名称:避开关键词(IDE中标蓝),不重复,非特殊字符随便取
@入口参数:类型+名称,多个参数“,”分开,空就写void
返回值 函数名称( 入口参数 );
函数名称( 入口参数 );调用的时候就只需要入参数,不需要带类型,
新建xxx.c和xxx.h文件,代表一个功能块。推荐一一对应。
点击新建,默认弹出的是text文件,未定义文件类型,点击保存,存储为math.c,并另存为math.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_H
int 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串口工具,清空数据区,发送数据,得到打印值:
这样操作,主函数代码非常干净,便于大型项目的管理和组织。
math.h:
#ifndef __MATH_H //if not define
#define __MATH_H
int 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作为世界上通用的求救信号,如果用灯光信号来表示,三短亮代表字母S,三长亮代表字母O,再接着的三短亮代表S。
灯的长亮时间是短亮时间的三倍,而短亮时间则与LED两次点亮的间隔时间相同,字母与下一个字母间也有三倍短亮时间的熄灭间隔。
//S
while( time < 4 )
{
P22 = 0; //设置低电平 (屠龙刀三板载led)
P24 = 0;
delay_ms(500);
P22 = 1; //设置低电平 (屠龙刀三板载led)
P24 = 1;
delay_ms(500);
time++;
}
delay_ms(1000);
time = 1;
//O
while( time < 4 )
{
P22 = 0; //设置低电平 (屠龙刀三板载led)
P24 = 0;
delay_ms(1500);
P22 = 1; //设置低电平 (屠龙刀三板载led)
P24 = 1;
delay_ms(500);
time++;
}
delay_ms(1000);
time = 1;
//S
while( time < 4 )
{
P22 = 0; //设置低电平 (屠龙刀三板载led)
P24 = 0;
delay_ms(500);
P22 = 1; //设置低电平 (屠龙刀三板载led)
P24 = 1;
delay_ms(500);
time++;
}
delay_ms(1000);
time = 1;
```