stm32f4xx.h

本文详细介绍了STM32F10x系列微控制器的stm32f10x.h头文件结构,包括库函数配置、数据类型定义、外设寄存器结构体与基地址定义等内容,并探讨了该文件与CMSIS数据类型的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5   stm32 stm32f10x.h头文件的主要结构
    (1) 库函数配置
   通过一些宏定义来配置不同的功能
(2) 数据类型定义
   使用typedef定义一些数据类型    
(3) 定义了各个外设模块寄存器的结构体
Peripheral_registers_structures
(4) 定义了各个外设模块寄存器基地址
   Peripheral_memory_map 
(5)定义了每个寄存器中,不同功能位的MASK
   Peripheral_Registers_Bits_Definition


其他参考:http://www.cnblogs.com/caihongsheng/p/3513279.html



include "core_cm3.h"STM32的内核是ARM CORTEX-M3,这个core_cm3.h包含的是一些内核相关的函数和宏定义,例如核内寄存器定义、部分核内外设的地址等等,其对应的是core_cm3.c文件。初学可以不管他,只要把它包含进工程里就行了,这里都是非常底层的函数,上层的一些函数直接调用它们了。如果对CORTEX-M3内核有兴趣或者基础较高,想深入了解这些函数,可以仔细研读一下,我们在后续的开讲中会仔细讲解这一个文件的内容。

#include "system_stm32f10x.h" 这个文件就是我们现在所讲的文件了。
#include <stdint.h> <stdint.h> 定义了 int16_t 、 uint32_t 、 int64_t 等整型,在需要确定大小的整型时可以使用它们代替 short 、 unsigned long long 等,在 C 整型中,只使用 int 。

/** @addtogroup Exported_types
  * @{
  */  

/*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */ 由于新的文件与老的文件会有不兼容问题,所以要转换变量类型。
typedef int32_t  s32;  typedef 在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。  
《变量类型》,3.0以后的版本中使用了CMSIS数据类型,变量的定义有所不同,但是出于兼容旧版本的目的,以上的数据类型仍然兼容。

CMSIS IO类型限定词

IO类限定词
#define
描述
_I
volatile const
只读访问
_O
volatile
只写访问
_IO
volatile
读和写访问
件库与CMSIS数据类型对比
固件库类型
CMSIS类型
描述
s32
int32_t
易挥发只读有符号32位数据
s16
int16_t
易挥发只读有符号16位数据
s8
int8_t
易挥发只读有符号8位数据
sc32
const int32_t
只读有符号32位数据
sc16
const int16_t
只读有符号16位数据
sc8
const int8_t
只读有符号8位数据
vs32
_IO int32_t
易挥发读写访问有符号32位数据
vs16
_IO int16_t
易挥发读写访问有符号16位数据
参考文献 http://bbs.21ic.com/forum.php?mobile=no&mod=viewthread&page=2&tid=749116

针对于stm32f4xx芯片开发使用的hal版本库 /** ****************************************************************************** * @file stm32f4xx_hal.h * @author MCD Application Team * @version V1.4.2 * @date 10-November-2015 * @brief This file contains all the functions prototypes for the HAL * module driver. ****************************************************************************** * @attention * * © COPYRIGHT(c) 2015 STMicroelectronics * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值