找回密码
 立即注册
查看: 789|回复: 2

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-03-01 13:29:54

16

主题

4

回帖

130

积分

注册会员

积分
130
发表于 2023-5-16 00:04:09 | 显示全部楼层 |阅读模式
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打印会出错?
冲哥8051实验箱-STC32G12K128第六集下:LED闪烁和花式点灯下-1.png

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



回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-06-17 12:12:21
已绑定手机

40

主题

2060

回帖

7079

积分

论坛元老

积分
7079
发表于 2023-5-16 09:11:35 | 显示全部楼层
因为“除”是包含0xfd编码的汉字,使用keil编译时会出现乱码并且影响后面的内容,请参考说明书介绍进行处理:

1.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-03-01 13:29:54

16

主题

4

回帖

130

积分

注册会员

积分
130
发表于 2023-5-16 09:33:52 | 显示全部楼层
乘风*** 发表于 2023-5-16 09:11
因为“除”是包含0xfd编码的汉字,使用keil编译时会出现乱码并且影响后面的内容,请参考说明书介绍进行处理 ...

收到,学习了
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 16:04 , Processed in 3.225703 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表