文档章节

stm32固件学习手册至手记

 啊道
发布于 2015/06/03 15:04
字数 814
阅读 23
收藏 0


1.2 命名规则
固态函数库遵从以下命名规则
PPP 表示任一外设缩写,例如: ADC。更多缩写相关信息参阅章节 1.1 缩写
系统、源程序文件和头文件命名都以“stm32f10x_”作为开头,例如: stm32f10x_conf.h
常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都
由英文字母大写书写。
寄存器作为常量处理。他们的命名都由英文字母大写书写。在大多数情况下,他们采用与缩写规范与本用
户手册一致。
外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:
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.

====================================================

mSun;font-size:11pt;color:rgb(0,0,0);f2.1.2 文件夹Library
文件夹 Library 包含组成固件函数库核心的所有子文件夹和文件:
„ 子文件夹 inc 包含了固件函数库所需的头文件,用户无需修改该文件夹:
32/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
固件函数库
33/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
- stm32f10x_type.h:所有其他文件使用的通用数据类型和枚举。
- stm32f10x_map.h:外设存储器映像和寄存器数据结构。
- stm32f10x_lib.h:主头文件夹,包含了其他头文件。
- stm32f10x_ppp.h:每个外设对应一个头文件,包含了该外设使用的函数原形,数据结构和枚举。
- cortexm3_macro.h: 文件 cortexm3_macro.s 对应的头文件。
„ 子文件夹 src 包含了固件函数库所需的源文件,用户无需修改该文件夹:
- stm32f10x_ppp.c:每个外设对应一个源文件,包含了该外设使用的函数体
- stm32f10x_lib.c
  初始化所有外设的指针

=============================================================

© 著作权归作者所有

粉丝 2
博文 5
码字总数 2199
作品 0
广州
私信 提问
STM32中关于Contex-M3寄存器说明--NVIC/SCB/SysTick

bluefish - 51CTO技术博客----------本文转自网上,如果原作看到的话请留言,我会把出处加上,谢谢! 在STM32中用到了Cortex-M3定义的三组寄存器,有关这三组寄存器的说明不在STM32的技术手册...

文剑Boy
2014/07/31
0
0
【转】浅析STM32中SysTick在3.5固件库中的应用

最近一直在忙STM32的学习,在学习中遇到了不少问题,也经过各种尝试解决问题,在这里我通过博文的形式写出来,也希望能够帮到遇见同样问题的人们。对于STM32系列的芯片,有一个好处就是官方给...

jerry2012cn
2013/06/23
2.1K
0
STM32开发 -- IAP详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29350001/article/details/87978183 现在只是简单的预研知道有这个功能,怎么实现我真的没做过。。。 先照...

聚优致成
02/27
0
0
WiFi物联中的OTA固件升级设计原理

在物联网开发中,OTA升级是产品必备功能之一,本篇文章将以庆科EMW3165模块的OTA升级原型为例进行设计原理介绍,以及提供简单的STM32 DEMO实现帮助大家进一步理解。本文为分析WIFI模块固件升...

yueqian_scut
2016/10/13
0
0
STM32(STM8)单片机固件库下载方法

STM32(STM8)单片机固件库下载方法 1.从官方下载 首先登陆官方网站 www.st.com ,在网站的右上角搜索框中输入芯片型号(如STM32F103RCT6). 在显示出的芯片型号列表中点击你要的芯片型号. 官方网...

sheeptech
2018/01/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部