好文档 - 专业文书写作范文服务资料分享网站

STM32固件库使用手册的中文翻译

天下 分享 时间: 加入收藏 我要投稿 点赞

UM0427用户手册

32位基于ARM微控制器STM32F101xx与STM32F103xx

固件函数库

介绍

本手册介绍了32位基于ARM微控制器STM32F101xx与STM32F103xx的固件函数库。

该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。

每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。

所有的驱动源代码都符合“Strict ANSI-C”标准(项目于范例文件符合扩充ANSI-C标准)。我们已经把驱动源代码文档化,他们同时兼容MISRA-C 2004标准(根据需要,我们可以提供兼容矩阵)。由于整个固态函数库按照“Strict ANSI-C”标准编写,它不受不同开发环境的影响。仅对话启动文件取决于开发环境。

该固态函数库通过校验所有库函数的输入值来实现实时错误检测。该动态校验提高了软件的鲁棒性。实时检测适合于用户应用程序的开发和调试。但这会增加了成本,可以在最终应用程序代码中移去,以优化代码大小和执行速度。想要了解更多细节,请参阅Section 2.5。

因为该固件库是通用的,并且包括了所有外设的功能,所以应用程序代码的大小和执行速度可能不是最优的。对大多数应用程序来说,用户可以直接使用之,对于那些在代码大小和执行速度方面有严格要求的应用程序,该固件库驱动程序可以作为如何设置外设的一份参考资料,根据实际需求对其进行调整。

此份固件库用户手册的整体架构如下:?

? 定义,文档约定和固态函数库规则。 ?

? 固态函数库概述(包的内容,库的架构),安装指南,库使用实例。?? 固件库具体描述:设置架构和每个外设的函数。

STM32F101xx和STM32F103xx在整个文档中被写作STM32F101x。

译文英文原版为UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准

文档和库规范

1.文档和库规范

本用户手册和固态函数库按照以下章节所描述的规范编写。

1.1 缩写

Table 1. 本文档所有缩写定义 缩写 ADC BKP CAN DMA EXTI FLASH GPIO I2C IWDG NVIC PWR RCC RTC SPI SysTick TIM TIM1 USART WWDG 外设/单元 模数转换器 备份寄存器 控制器局域网模块 直接内存存取控制器 外部中断事件控制器 闪存存储器 通用输入输出 内部集成电路 独立看门狗

嵌套中断向量列表控制器 电源/功耗控制 复位与时钟控制器 实时时钟 串行外设接口 系统嘀嗒定时器 通用定时器 高级控制定时器 通用同步异步接收发射端 窗口看门狗 1.2 命名规则

固态函数库遵从以下命名规则:

PPP表示任一外设缩写,例如:ADC。更多缩写相关信息参阅章节1.1 缩写。

系统、源程序文件和头文件命名都以“stm32f10x_”作为开头,例如:stm32f10x_conf.h。

常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。

寄存器作为常量处理。他们的命名都由英文字母大写书写。在大多数情况下,他们采用与缩写规范与本用户手册一致。

外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大

译文英文原版为UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准

文档和库规范

写书写,例如:SPI_SendData。在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。

名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,例如TIM_Init.

名为PPP_DeInit的函数,其功能为复位外设PPP的所有寄存器至缺省值,例如TIM_DeInit.

名为PPP_StructInit的函数,其功能为通过设置PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_StructInit.

名为PPP_Cmd的函数,其功能为使能或者失能外设PPP,例如: SPI_Cmd.

名为PPP_ITConfig的函数,其功能为使能或者失能来自外设PPP某中断源,例如: RCC_ITConfig.

名为PPP_DMAConfig的函数,其功能为使能或者失能外设PPP的DMA接口,例如:TIM1_DMAConfig.

用以配置外设功能的函数,总是以字符串“Config”结尾,例如GPIO_PinRemapConfig.

名为PPP_GetFlagStatus的函数,其功能为检查外设PPP某标志位被设置与否,例如:I2C_GetFlagStatus.

名为PPP_ClearFlag的函数,其功能为清除外设PPP标志位,例如:I2C_ClearFlag.

名为PPP_GetITStatus的函数,其功能为判断来自外设PPP的中断发生与否,例如:I2C_GetITStatus.

名为PPP_ClearITPendingBit的函数,其功能为清除外设PPP中断待处理标志位,例如: I2C_ClearITPendingBit.

1.3 编码规则

本章节描述了固态函书库的编码规则。

1.3.1变量

固态函数库定义了24个变量类型,他们的类型和大小是固定的。在文件stm32f10x_type.h中我们定义了这些变量:

typedef signed long s32; typedef signed short s16;

译文英文原版为UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准

文档和库规范

typedef signed char s8;

typedef signed long const sc32; /* Read Only */ typedef signed short const sc16; /* Read Only */ typedef signed char const sc8; /* Read Only */ typedef volatile signed long vs32; typedef volatile signed short vs16; typedef volatile signed char vs8;

typedef volatile signed long const vsc32; /* Read Only */ typedef volatile signed short const vsc16; /* Read Only */ typedef volatile signed char const vsc8; /* Read Only */ typedef unsigned long u32; typedef unsigned short u16; typedef unsigned char u8;

typedef unsigned long const uc32; /* Read Only */ typedef unsigned short const uc16; /* Read Only */ typedef unsigned char const uc8; /* Read Only */ typedef volatile unsigned long vu32; typedef volatile unsigned short vu16; typedef volatile unsigned char vu8;

typedef volatile unsigned long const vuc32; /* Read Only */ typedef volatile unsigned short const vuc16; /* Read Only */ typedef volatile unsigned char const vuc8; /* Read Only */

1.3.2布尔型

在文件stm32f10x_type.h中,布尔形变量被定义如下:

Typedef enum {

FALSE = 0, TRUE = !FALSE } bool;

1.3.3 标志位状态类型

在文件stm32f10x_type.h中,我们定义标志位类型(FlagStatus type)的2个可能值为“设置”与“重置”(SET or RESET)。

typedef enum {

RESET = 0, SET = !RESET } FlagStatus;

译文英文原版为UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准

文档和库规范

1.3.4 功能状态类型

在文件stm32f10x_type.h中,我们定义功能状态类型(FunctionalState type)的2个可能值为“使能”与“失能”(ENABLE or DISABLE)。

typedef enum {

DISABLE = 0, ENABLE = !DISABLE } FunctionalState;

1.3.5 错误状态类型

在文件stm32f10x_type.h中,我们错误状态类型类型(ErrorStatus type)的2个可能值为“成功”与“出错”(SUCCESS or ERROR)。

Typedef enum {

ERROR = 0, SUCCESS = !ERROR } ErrorStatus;

1.3.6 外设

用户可以通过指向各个外设的指针访问各外设的控制寄存器。这些指针所指向的数据结构与各个外设的控制寄存器布局一一对应。

外设控制寄存器结构

文件stm32f10x_map.h包含了所有外设控制寄存器的结构,下例为SPI寄存器结构的声明:

/*-------------------------------- Serial Peripheral Interface -----------------------------*/ typedef struct {

vu16 CR1; u16 RESERVED0; vu16 CR2; u16 RESERVED1; vu16 SR; u16 RESERVED2; vu16 DR; u16 RESERVED3; vu16 CRCPR; u16 RESERVED4; vu16 RXCRCR; u16 RESERVED5;

译文英文原版为UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准

STM32固件库使用手册的中文翻译

UM0427用户手册32位基于ARM微控制器STM32F101xx与STM32F103xx固件函数库介绍本手册介绍了32位基于ARM微控制器STM32F101xx与STM32F103xx的固件函数库。
推荐度:
点击下载文档文档为doc格式
8ncu76f8oz8c83h0epna2cg5h8inz6016ce
领取福利

微信扫码领取福利

微信扫码分享