KEIL中LED.c文件无法与所有.h文件链接的原因

问题遇到的现象和发生背景

img

操作环境、软件版本等信息

KEIL——ARM

######问题
led.c文件无法与所有.h文件关联的原因是啥,应该如何解决

我想要达到的结果

实现led.c与所有头文件链接,代码不再报错

led.c中仅包含了一个LED.h的头文件,没有包含其他的头文件,肯定就链接不上啦~

  • 这篇博客: 第008课 第1个ARM裸板程序及引申(点亮LED灯)中的 硬件知识_LED原理图 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 当我们学习C语言的时候,我们会写个Hello程序。那当我们写ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。

    我们怎样去点亮一个LED呢?
    分为三步:

    • 看原理图,确定控制LED的引脚;
    • 看主芯片的芯片手册,确定如何设置控制这个引脚;
    • 写程序;

    先来讲讲怎么看原理图:
    LED样子有很多种,像插脚的,贴片的。
    这里写图片描述
    它们长得完全不一样,因此我们在原理图中将它抽象出来。

    点亮LED需要通电源,同时为了保护LED,加个电阻减小电流。
    控制LED灯的亮灭,可以手动开关LED,但在电子系统中,不可能让人来控制开关,通过编程,利用芯片的引脚去控制开关。

    这里写图片描述

    LED的驱动方式,常见的有四种。

    • 方式1:使用引脚输出3.3V点亮LED,输出0V熄灭LED。

    • 方式2:使用引脚拉低到0V点亮LED,输出3.3V熄灭LED。
      有的芯片为了省电等原因,其引脚驱动能力不足,这时可以使用三极管驱动。

    • 方式3:使用引脚输出1.2V点亮LED,输出0V熄灭LED。

    • 方式4:使用引脚输出0V点亮LED,输出1.2V熄灭LED。

    这里写图片描述

    由此,主芯片引脚输出高电平/低电平,即可改变LED状态,而无需关注GPIO引脚输出的是3.3V还是1.2V。
    所以简称输出1或0:

    • 逻辑1–>高电平

    • 逻辑0–>低电平