其实正点原子有良好的模板工程。。。user 。lab文件 ,obj。

一脸蒙的是库函数的操作方式。。。。

为了便于管理,该项目文件夹内,我分了以下几个文件夹:"PROJ"存放工程文件,"APP"存放"main.c"、"aplication.c"文件,"BASEDRIVE"存放的"Uart.c"文件,"EXTIDRIVE"存放的是"Flash.c","DOC"存放的是"Readme"文件,对应".h"文件存放在对应文件夹。

  包含头文件时可写绝对路径:譬如"#include  XXX/EXTIDRIVE/'Flash.h'",但过于麻烦,也可将头文件所在的目录设置进编译软件,

  a)IAR的设置方法:

  在工程文件名右键,选择"Option"-->"C/C++complier"-->"Proprocessor"-->"Additonal Include directories"。

  b)KEIL的设置方法:

  “Project”-->”Option for Target XXX”-->”C/C++”-->”Include Paths”。

  这样直接写相对路径:"#include 'Flash.h'",头文件也可被编译器找到。

  前期铺垫这么多,现在开始进入正题:“多个.c文件相互包含.h文件该做如何处理”?

  在每个”.c”文件内声明变量与函数,某些变量/函数如果会被其它”.c”文件调用,则在对应的”.h”文件extern 该变量/函数,若有文件要使用这些变量/函数,只需包含其头文件即可。宏定义可直接在头文件内定义。

hello world Firmware Library的更多相关文章

  1. STM32F10xxx启动模式分析(详细)

    STM32的启动模式: STM32有三种启动模式,对应的存储介质均是芯片内置的:      1. User Flash Memory(Main Memory)  = 芯片内置的Flash,用户程序存放 ...

  2. 【转载】stm32中断学习

    中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加 ...

  3. stm32常识

    cmsis全称Cortex Microcontroller Software Interface Standard,就是Cortex微处理器软件接口标准 stm32每组gpio有7组端口,分别是2个3 ...

  4. STM32F4 External event -- WFE 待机模式

    The STM32F4xx are able to handle external or internal events in order to wake up the core (WFE). The ...

  5. 设置 TIM3_CH2 的 PWM 模式,使能 TIM3 的 CH2 输出

    /**   ******************************************************************************   * @file    st ...

  6. 【关注图像采集视频传输】之CYUSB3014 EZ-USB FX3 Software Development Kit

    网址:http://www.cypress.com.与之前的High Speed FX2相比,新的产品叫Super Speed  FX3,沿用了之前的命名习惯.FX2芯片内嵌一个8051核,FX3则内 ...

  7. STM32例程之USB HID双向数据传输(源码下载)【转】

    程序功能 将STM32的USB枚举为HID设备. STM32使用3个端点,端点0用于枚举用,端点1和2用于数据的发送和接收. 端点长度为64,也就是单次最多可以传输64个字节数据. STM32获取上位 ...

  8. 初探RT-Thread系统在GD32E103x芯片上的使用,点亮LED灯

    初探RT-Thread系统在GD32E103x芯片上的使用,点亮LED灯 前言 ​ 随着中美贸易战的加剧,很多公司越来越重视使用国产技术的重要性.使用国产技术,一方面可规避国外对技术的封锁造成产品核心 ...

  9. 【转载-Andrew_qian】stm32中断学习

    [转载]stm32中断学习 中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大 ...

随机推荐

  1. java 零碎1

    1. java 程序的入口必须是 static 类型的,接口中不允许有 static , 而且接口中的方法必须是public. 2. java 回收主要针对的是堆区的回收. 3. java.exe 是 ...

  2. maven 添加支持编译jdk1.7

     1.在<profiles>元素内增加如下内容   <profile>     <id>jdk17</id>     <activation> ...

  3. android优化从网络中加载图片速度。。

    从网络中加载图片主要要注意两个方面的问题: 1.内存管理:图片占的内存很大,假如图片数量多,很容易让系统抛出out of memory的异常. 同时我们也要注意不同android版本中内存管理的区别. ...

  4. object-c NSString 转成特定编码格式如utf8、gbk等

    有两种方式 第一种是先转换成特定编码格式NSDATA 第二种是先转换成特定编码格式char *(cString) 转成gbk: 第一种: - (NSString *) utf82gbk:(NSStri ...

  5. js判断是不是chrome浏览器

    方法一: var isChrome = window.navigator.userAgent.indexOf("Chrome"); <script> var isChr ...

  6. PHP + Memcache 实现多服务器session共享

    很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么php默认的files保存session的方式就无能为力了.这时我们可以考虑使用memcache 来接 ...

  7. javaSE之如何将一个文档显示出来(,txt,.doc,.....)

    package DEMO ; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

  8. addViewController之后view里面的点击事件不响应

    let dealsSeeMoreViewController = DealsSeeMoreViewController(owner: self) self.dealsStackView.addArra ...

  9. Swift和Objective-C混编注意

    前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋们来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...

  10. 盘点几种数据库的分页SQL的写法(转)

    Data序列——盘点几种数据库的分页SQL的写法http://www.cnblogs.com/fireasy/archive/2013/04/10/3013088.html