历史上的今天
返回首页

历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2019年09月24日 | STM32F1系列——固件库函数使用手册摘要

2019-09-24 来源:eefocus

命名

1.缩写

image.png?imageView2/2/w/550

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_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.


数据类型(定义于stm32f10x_type.h)

1.基本类型

    typedef signed long s32;

    typedef signed short s16;

    typedef signed char s8;

    typedef unsigned long u32;

    typedef unsigned short u16;

    typedef unsigned char u8;

    //volatile声明在最前面加v,const声明在数字前加c

    //例如vsc32,vuc8


2.布尔类型

    typedef enum{FALSE = 0, TRUE = !FALSE } bool;


3.状态标志位类型

我们定义标志位类型(FlagStatus type)的2个可能值为“设置”与“重置”(SET or RESET)。


    typedef enum { RESET = 0, SET = !RESET } FlagStatus;


4.功能状态类型

我们定义功能状态类型(FunctionalState type)的2个可能值为“使能”与“失能”(ENABLE or DISABLE)。


    typedef enum { DISABLE = 0, ENABLE = !DISABLE } FunctionalState;


5.错误状态类型

我们定义错误状态类型类型(ErrorStatus type)的2个可能值为“成功”与“出错”(SUCCESS or ERROR)。


    typedef enum { ERROR = 0, SUCCESS = !ERROR } ErrorStatus;

推荐阅读

史海拾趣

Emulation Technology Inc公司的发展小趣事

面对电子行业的快速发展和市场的不断变化,Emulation始终保持着对技术的持续创新。公司不断投入研发资源,推出了一系列具有领先性能的模拟和仿真产品,满足了客户对于高精度、高效率仿真工具的需求。这些产品不仅提高了工程师们的设计效率,还促进了整个电子行业的发展。

Electronic Sensor + Resistor GmbH公司的发展小趣事

Electronic Sensor + Resistor GmbH(简称ESR公司)的创立源于两位电子工程师的远见卓识。他们发现市场上对于高精度电子传感器和定制电阻器的需求日益增长,但现有产品往往无法满足特定应用的性能要求。于是,ESR公司应运而生,专注于研发和生产高性能的电子传感器和电阻器。

在创业初期,ESR公司面临着资金、技术和市场的三重挑战。但凭借其卓越的研发实力和坚持不懈的市场推广,公司逐渐在市场上树立起高品质、高可靠性的品牌形象。通过与多家知名企业的合作,ESR公司的产品逐渐获得了市场的认可。

FLIR公司的发展小趣事

随着业务规模的不断扩大,FLIR逐渐将目光投向全球市场。公司在全球范围内建立了多个生产基地和销售服务网络,包括在美国本土的波特兰、波士顿、圣巴巴拉和波兹曼等城市设立的工厂,以及在瑞典斯德哥尔摩和爱沙尼亚塔林等海外地区设立的分支机构。这些生产基地和销售服务网络为FLIR在全球市场的拓展提供了有力支持,使得公司能够更好地服务于全球客户,满足他们多样化的需求。

汇顶科技(GOODiX)公司的发展小趣事

近年来,随着智能化和便携化趋势的兴起,FLIR积极响应市场需求,推出了一系列智能化、便携化的红外热像仪产品。例如,FLIR的I系列和T系列产品就以其小巧轻便、操作简便的特点受到了广大用户的青睐。这些产品不仅具备高性能的红外成像能力,还集成了多种智能化功能,如自动测温、图像分析、报告生成等,极大地提升了用户的使用体验和工作效率。此外,FLIR还推出了适用于智能手机的红外热像仪配件,进一步拓宽了产品的应用领域和市场空间。

EUDYNA公司的发展小趣事

在2004年,电子行业的两大巨头FUJITSU富士通与SUMITOMO住友电气工业宣布合并,成立了EUDYNA半导体有限公司。这一合并不仅是两家公司资源的整合,更是技术力量的融合。EUDYNA自诞生之日起,就承载着推动半导体行业创新的重任。通过不断研发,EUDYNA在光波、微波器件领域逐渐崭露头角,成为全球客户的信赖之选。

Dino-Lite公司的发展小趣事

Dino-Lite公司一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系和检测流程,确保每一台出厂的产品都符合高标准的质量要求。同时,公司还注重售后服务体系的完善和优化,为客户提供及时、专业的技术支持和解决方案。

正是这种对品质的执着追求和对客户的真诚服务,让Dino-Lite公司赢得了客户的信赖和支持。许多客户都成为了公司的忠实粉丝和长期合作伙伴。

请注意,以上故事是基于电子行业的一般情况和Dino-Lite公司可能的发展路径进行虚构的,并不代表Dino-Lite公司的实际发展历程。如需了解更多关于Dino-Lite公司的具体信息和发展故事,建议查阅相关新闻报道、公司官网或行业分析报告。

问答坊 | AI 解惑

手机使用中常遇的问题及解决办法~很实用哦~~

随着人们生活水平的提高和对通讯工具的需要,大部分人都选择用手机做自己最常用的沟通工具,工具多了自然问题也就多了,下面给大家介绍几种使用手机的过程中经常遇到的问题及解决办法。 1.如果手机万一被水淋湿,我们该采取何种保护措施? 在日常 ...…

查看全部问答>

基于ATmega16单片机的抢答器

基于ATmega16单片机的抢答器 …

查看全部问答>

一种低成本汉字液晶显示的实现方法

在智能仪表等小型单片机应用系统中,一般采用发光二极管作功能提示,数码管显示数据。随着智能仪表功能的不断扩充和提高,这种显示方式逐渐不能满足需求。为系统添加一片液晶显示器作为显示设备,显然能够很大程度扩展系统功能,提升产品的档次。若 ...…

查看全部问答>

无线系统不可升级(6)——我们担心什么?

谬误之五:无线系统不可升级 无线网络的升级只有在您选择了错误技术方案的情况下才会成为问题。 对点对点无线现场网络来说,每台设备都必须直接同指定的网关进行通信,所以会受到从设备到网关的传输距离范围以及网关可处理设备数量的限制。这种无 ...…

查看全部问答>

现在汽车电子的行情怎么样啊

美国汽车行业现在一塌糊涂,中国汽车看上去前途光明……,不知道怎么样啊…

查看全部问答>

vxworks下.a文件怎么转换成.o文件

makefile中首先用ccarm -c将一堆.cc文件编译出了一堆.o中间文件 然后又调用ararm将它们做成了一个.a文件 问题是,如何将这个.a文件转换成可以下载到板子上的.o文件呢?…

查看全部问答>

请教uclinux下gprs拨号问题

Sep 25 09:50:40 login[45]: Authentication successful for root from 192.168.101.211   Sep 25 09:51:26 pppd[47]: pppd 2.3.8 started by (unknown), uid 0 Sep 25 09:51:27 chat[48]: timeout set to 3 seconds Sep 25 09:51:2 ...…

查看全部问答>

LED固晶银胶生产过程中使用须知

眾所周知,由于单电极芯片封装时对固晶的要求极高,因此在固晶过程中银胶的使用要求也极严格,虽然在生产过程中看不出什麼问题,但是到用户使用过程中会出现死灯等异常情况。所以,固晶银胶的性能会直接影响LED产品的性能,不能忽视。 由于没有较正 ...…

查看全部问答>

ADI DSP BF518开发板交换一块TI原装9B96开发板,开包的也行。

ADI DSP BF518开发板交换一块TI原装9B96开发板,开包的也行。 有意的请联系qq:307799870 板子上带有usb烧写接口。没有仿真器忙调即可。…

查看全部问答>

怎么用modelsim验证cic滤波器的效果

怎么用modelsim验证cic滤波器的效果?modelsim能看幅频特性不?…

查看全部问答>