15614423926 发表于 2023-5-16 00:04:09

冲哥8051实验箱-STC32G12K128第六集下:LED闪烁和花式点灯下

1、#define 名字 需要定义的内容,如:

#define MAIN_Fosc 24000000UL



2、在模块化编程里,函数使用分为如下三步:
1>函数定义
返回值 函数名称( 入口参数 )
{
函数要执行的功能
}
@返回值:没有返回值就是void
@函数名称:避开关键词,不重复,非特殊字符随便取
@入口参数:类型+名称,多个参数“,”分开,空就写void
例:

int Add(int parm1,int parm2)
{
        return parm1 + parm2;
}



2>函数声明
返回值 函数名称( 入口参数 );
例:
int Add(int parm1,int parm2);



3>函数调用
函数名称( 入口参数 );
printf("计算的结果为:%d\r\n",Add(1,2));



3、模块化编程

新建xxx.c和xxx.h文件,代表一个功能块。

xxx.h格式:
#ifndef __XXX_H
#define __XXX_H
调用头文件
函数声明...
#endif
例:

#ifndef __math_h        //if no define
#define __math.h
#endif


xxx.c格式
#include “xxx.h”
函数定义
例:
#include "math.h"(也需要将定义的函数复制到主函数里)


添加文件一定要记得引用路径和添加到工程里。

引用路径步骤:
1>点开魔术棒
2>点开C51
3>点开include paths后面的“...”,增加要添加的.C、.H文件路径,ok
添加到工程里步骤:


1>双击工程下“Source Group 1”即可.c文件


问题:为什么printf打印会出错?






乘风飞扬 发表于 2023-5-16 09:11:35

因为“除”是包含0xfd编码的汉字,使用keil编译时会出现乱码并且影响后面的内容,请参考说明书介绍进行处理:



15614423926 发表于 2023-5-16 09:33:52

乘风飞扬 发表于 2023-5-16 09:11
因为“除”是包含0xfd编码的汉字,使用keil编译时会出现乱码并且影响后面的内容,请参考说明书介绍进行处理 ...

收到,学习了{:4_250:}
页: [1]
查看完整版本: 冲哥8051实验箱-STC32G12K128第六集下:LED闪烁和花式点灯下