• STM32学习笔记(二)——如何使用帮助文档


    9.2.1. 常用官方资料

    • 《STM32F4xx参考手册》

      这个文件全方位介绍了STM32芯片的各种片上外设,它把STM32的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对STM32的外设感到困惑时, 可查阅这个文档。以直接配置寄存器方式开发的话,查阅这个文档寄存器部分的频率会相当高,但这样效率太低了。

    • 《STM32F4xx规格书》

      本文档相当于STM32的datasheet,包含了STM32芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用STM32其它外设时, 常常需要查找这个手册,了解外设对应到STM32的哪个GPIO引脚。

    • 《Cortex™-M4内核参考手册》

      本文档由ST公司提供,主要讲解STM32内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx参考手册》没涉及到的内核部分的补充。 相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。

    • 《Cortex-M3权威指南》、《cortex_m4_Technical Reference Manual》。

      这两个手册是由ARM公司提供的,它详细讲解了Cortex内核的架构和特性,要深入了解Cortex-M内核, 这是首选,经典中的经典,其中Cortex-M3版本有中文版,方便学习。因为Cortex-M4内核与Cortex-M3内核大部分相同,可用它来学习, 而Cortex-M4新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。

    • 《stm32f4xx_dsp_stdperiph_lib_um.chm》

      这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、 函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。

    9.2.2. 初识库函数

    所谓库函数,就是STM32的库文件中为我们编写好的函数接口,我们只要调用这些库函数,就可以对STM32进行配置,达到控制目的。 我们可以不知道库函数是如何实现的,但我们调用函数必须要知道函数的功能、可传入的参数及其意义、和函数的返回值。

    于是,有读者就问那么多函数我怎么记呀?我的回答是:会查就行了,哪个人记得了那么多。所以我们学会查阅库帮助文档 是很有必要的。

    打开库帮助文档《stm32f4xx_dsp_stdperiph_lib_um.chm》见图 库帮助文档

    库帮助文档

    层层打开文档的目录标签:

    标签目录:Modules\STM32F4xx_StdPeriph_Driver\

    可看到STM32F4xx_StdPeriph_Driver标签下有很多外设驱动文件的名字MISC、ADC、BKP、CAN等标签。

    我们试着查看GPIO的“位设置函数GPIO_SetBits”看看,打开标签:

    标签目录:Modules\STM32F4xx_StdPeriph_Driver\GPIO\Functions\GPIO_SetBits 见图 库帮助文档的函数说明 。

    库帮助文档的函数说明

    利用这个文档,我们即使没有去看它的具体源代码,也知道要怎么利用它了。

    如GPIO_SetBits,函数的原型为void GPIO_SetBits(GPIO_TypeDef * GPIOx , uint16_tGPIO_Pin)。 它的功能是:输入一个类型为GPIO_TypeDef的指针GPIOx参数,选定要控制的GPIO端口;输入GPIO_Pin_x宏,其中x指端口的引脚号,指定要控制的引脚。

    其中输入的参数 GPIOx为ST标准库中定义的自定义数据类型,这两个传入参数均为结构体指针。初学时,我们并不知道如GPIO_TypeDef这样的类型是什么意思, 可以点击函数原型中带下划线的 GPIO_TypeDef 就可以查看这个类型的声明了。

    就这样初步了解了一下库函数,读者就可以发现STM32的库是写得很优美的。每个函数和数据类型都符合见名知义的原则,当然,这样的名称写起来特别长, 而且对于我们来说要输入这么长的英文,很容易出错,所以在开发软件的时候,在用到库函数的地方,直接把库帮助文档中的函数名称复制粘贴到工程文件就可以了。 而且,配合MDK软件的代码自动补全功能,可以减少输入量。

    有的用户觉得使用库文档麻烦,也可以直接查阅STM32标准库的源码,库帮助文档的说明都是根据源码生成的,所以直接看源码也可以了解函数功能。

  • 相关阅读:
    新浪微盘又是一个给力的产品啊,
    InfoQ: 百度数据库架构演变与设计
    列式数据库——Sybase IQ
    MapR初体验 淘宝共享数据平台 tbdata.org
    IBM正式发布新一代zEnterprise大型机(组图) 大型机,IBM,BladeCenter,美国,纽约 TechWeb News
    1TB is equal to the number of how many GB? 1PB equal to is equal to the number of TB? 1EB PB? | PCfault.com
    Cassandra vs HBase | WhyNosql
    The Hadoop Community Effect
    雅虎剥离开源软件平台 Hadoop ,与风投新建 Hortonworks 公司 品味雅虎
    RowOriented Database 、ColumnOriented Database 、KeyValue Store Database 、DocumentOriented Database
  • 原文地址:https://www.cnblogs.com/starr/p/16018483.html
Copyright © 2020-2023  润新知