0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32头文件和源文件的作用

汽车玩家 来源:csdn 作者:csdn 2021-07-22 14:05 次阅读

对于STM32F4xx_StdPeriph_Driver,其重要源文件为:

  • stm32f4xx_ppp.h:外设头文件。这里的ppp只是一个代码,在实际上是具体的外设名字,如ADCDMA等。在实际使用时根据所需的外设选择性移植。

  • stm32f4xx_ppp.c:外设源文件。这里的ppp只是一个代码,在实际上是具体的外设名字,如ADC,DMA等。在实际使用时根据所需的外设选择性移植。

  • stm32f4xx_conf.h:外设驱动配置文件。通过修改该文件中所包含的外设头文件,用户启动或禁用外设驱动。此外,在此文件夹打开宏定义USE_FULL_ASSERT,通过预处理启 用或禁用标准外设库运行时的故障检测

  • stm32f4xx_it.h :头文件。包括所有中断处理程序原型。在Project\STM32F4xx_StdPeriph_Templates中。

  • stm32f4xx_it.c :中断源程序模板,中断函数的名称要与启动文件中中断向量表的名称一致。此外,对于stm32f4的标准外设固件库,在CMSIS文件夹中还有相应的DSP库:DSP_Lib和Lib。DSP_Lib主要为DSP函数库的实例和源码;Lib为编译好的,且对于不同内核的STM32系列MCU所使用的lib文件。


以下为固件库移植时CMSIS文件夹中的重要源文件:

  • core_cm4.h :内核功能的定义,比如NVIC相关寄存器的结构体和Systick配置。

  • core_cmFunc.h :内核核心功能接口头文件。

  • core_cmInstr.h :包含一些内核核心专用指令。

  • core_cmSimd.h :包含与编译器相关的处理。

  • stm32f4xx.h :包含了stm32f4的寄存器结构体的定义(类似于c51的reg52.h)。

  • system_stm32f4xx.h :system_stm32f4xx.c的头文件。

  • system_stm32f4xx.c :stm32f4的系统时钟配置。

  • startup_stm32f40_41xxx.s:启动文件:设定SP的初始值;设置PC的初始值;设置中断向量表的地址;配置时钟;设置堆栈;调用main。这个启动文件先调用system_stm32f4xx.c里面的systeminit()在调用main()之前。

文章整合自:csdn
编辑:ymf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2265

    文章

    10870

    浏览量

    354704
  • 头文件
    +关注

    关注

    0

    文章

    25

    浏览量

    9846
  • 源文件
    +关注

    关注

    0

    文章

    30

    浏览量

    4569
收藏 人收藏

    评论

    相关推荐

    使用vscode始终无法找到头文件怎么解决?

    scons --target=vsc 生成的c_cpp_properties.json 的includePath是对的,但vscode就是要报找不到rtthread.h 等头文件。 [2024/9
    发表于 09-27 06:33

    可重复头文件的固定结构

    年轻人,你可曾记得,在修习C语言的时候,见过这样的字句:在创建头文件的时候,一定要加入保护宏。
    的头像 发表于 08-29 10:23 303次阅读
    可重复<b class='flag-5'>头文件</b>的固定结构

    bin文件怎么烧录到stm32

    烧录bin文件STM32微控制器是一个相对复杂的过程,涉及到硬件连接、软件配置和固件烧录等多个方面。 一、硬件准备 STM32开发板 STM32开发板是烧录bin
    的头像 发表于 08-22 09:38 1488次阅读

    编译components文件夹内容引入的头文件不对怎么处理?

    最近在移植LVGL,需要自己写RGB驱动 我把LVGL放在components文件夹中,但编译的时候提示缺少esp_lcd下头文件的引用 仔细找了一下发现,编译components内容的时候只引入
    发表于 06-17 07:35

    components包含头文件错误是怎么回事?

    我新建了一个工程,添加了一个BLE组件,现在我在BLE组件的头文件中包含了如下文件Code: Select all #include \"api/esp_gatt_common_api.h
    发表于 06-06 07:21

    FX3工程导入后头文件找不到是为什么?如何添加头文件路径?

    在网上参考别人的工程项目,但是载入进去之后发现它的头文件都找不到,应该如何添加头文件路径?
    发表于 05-27 07:53

    stm8s103f.h头文件在哪下载?

    我只懂用库编程,不用库反而不会。网上下载别人的程序,找不到stm8s103f.h这样的头文件。请问这样的头文件在哪可以找到?或者谁能给我这样的头文件,谢谢!
    发表于 05-14 06:10

    请问头文件能不能定义变量呢?

    最近在编译一个工程的时候,突然遇到了变量重复定义的问题,根据提示打开这几个 C 文件,并没有发现定义变量的地方。后来再找一找,原来变量定义在了头文件里面。
    的头像 发表于 04-28 09:33 1052次阅读

    请问为什么库函数头文件和寄存器头文件不可共用?

    CLK_CKDIVR=0x01;可是这么编程后就报错iostm8s208mb.h头文件缺少括号,不知道为何库函数头文件与寄存器头文件放一起时哪构成语法错误了;请问我这个把库函数一句一句地换成寄存器的想法可以吗?还是说得把整个库函
    发表于 04-28 06:22

    STM32CubeMX如何在*.c源文件中使用c++特性?

    用arm-xxx-gcc编译器进行编译,*.cpp文件会使用arm-xxx-g++编译器进行编译,STM32CubeMX生成文件都是*.c源文件,在不修改
    发表于 04-25 06:15

    如何在Cubemx中添加所有的外设头文件

    cubemx是一个图形生成代码的软件,可以很好的提高写代码的效率,减少时间。但同时也有一个很大的问题:每次设置完后生成的代码,只包含设置的外设的头文件,如果想要添加其他外设的代码,可能会因此报错
    发表于 04-01 07:46

    C语言中的头文件

    #include 指令会指示 C 预处理器浏览指定的文件作为输入。预处理器的输出包含了已经生成的输出,被引用文件生成的输出以及 #include 指令之后的文本输出。
    发表于 02-23 14:06 407次阅读

    在ADUCM360_project.c文件里面为什么添加DioLid.h头文件会报错?如何正确添加自己编写的头文件

    在ADUCM360_project.c文件里面为什么添加DioLid.h头文件会报错?怎么正确添加自己编写的头文件
    发表于 01-11 06:09

    keil如何生成bin文件

    创建工程、编写代码、配置编译选项、编译生成可执行文件、转换为bin文件等。 创建工程 首先,打开Keil软件,点击“File”->“New”->“Project”,选择适合的目标设备,如STM32系列或其他ARM芯片。输入项目名
    的头像 发表于 12-15 13:43 1.1w次阅读

    C语言必备知识头文件包含

    头文件在C语言中是非常重要的组成部分。
    的头像 发表于 12-01 18:20 1838次阅读