[STM8]

为什么要定义它呢?

[复制链接]
367|14
手机看帖
扫描二维码
随时随地手机跟帖
huanghuac|  楼主 | 2022-4-17 20:02 | 显示全部楼层 |阅读模式
#ifndef __STM8L15x_H
#define __STM8L15x_H
看到库函数里有这种定义?想知道__STM8L15x_H是什么意思?为什么要定义它呢?

使用特权

评论回复
wyjie| | 2022-4-17 20:04 | 显示全部楼层
这就是配置 MCU 的类型的. 用同一个 .H 文件适应有硬件差别 的 MCU.

使用特权

评论回复
llljh| | 2022-4-17 20:06 | 显示全部楼层
你也可以学习这种方法来定义共同的头文件

使用特权

评论回复
huanghuac|  楼主 | 2022-4-17 20:09 | 显示全部楼层
还是不怎么明白,它本来就是一个头文件,其他函数可以直接调用了,不定义的话不同型号的MCU调用会出现什么问题吗

使用特权

评论回复
huangchui| | 2022-4-17 20:12 | 显示全部楼层
这是一个防止头文件内容被重定义的标志,可以用任意其它没有定义过的内容替换

使用特权

评论回复
zhenykun| | 2022-4-17 20:14 | 显示全部楼层
#ifndef  _A_H
#define _A_H
........
#endif

使用特权

评论回复
dingy| | 2022-4-17 20:16 | 显示全部楼层
人们只是习惯了把这个内容定义成跟文件名一样而已,默认的规则

使用特权

评论回复
heweibig| | 2022-4-17 20:22 | 显示全部楼层
嗯, 这可说也是个编程技巧吧.
作用和目的已经说得明白了, 后面怎么理解, 我看你就拿着手头的代码认真体会吧
懂了, 那对你的编程技巧也是一个提升哦

使用特权

评论回复
juventus9554| | 2022-4-17 20:25 | 显示全部楼层
防止重复包含

使用特权

评论回复
huanghuac|  楼主 | 2022-4-17 20:28 | 显示全部楼层
搞定了,呵呵,犯了低级错误……多谢各位

使用特权

评论回复
SantaBunny| | 2023-3-3 12:56 | 显示全部楼层
这个说明你需要在stm8l15x.h里面选择你使用的芯片类型,你打开这个文件就可以看到一些

使用特权

评论回复
Henryko| | 2023-3-3 23:09 | 显示全部楼层
为了防止文件重复定义

使用特权

评论回复
R2D2| | 2023-3-4 12:06 | 显示全部楼层
就是你用到的单片机型号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

772

主题

8473

帖子

6

粉丝