ImageVerifierCode 换一换
格式:DOCX , 页数:84 ,大小:39.45KB ,
资源ID:3908159      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3908159.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(stm32库函数部分解释.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

stm32库函数部分解释.docx

1、stm32库函数部分解释库函数简介一、通用输入/输出(GPIO)-3二、外部中断/事件控制器(EXTI)-7三、通用定时器(TIM)-9四:ADC寄存器-25五:备份寄存器(BKP)-33六、DMA控制器(DMA)-37七、复位和时钟设置(RCC)-41八、嵌套向量中断控制器(NVIC)-49命名规则在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,例如TIM_Init.名为PPP_DeInit的函数,其功能为复位外设PPP的所有寄存器至缺省值,例如TIM_DeInit.

2、名为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_G

3、etFlagStatus的函数,其功能为检查外设PPP某标志位被设置与否,例如:I2C_GetFlagStatus. 名为PPP_ClearFlag的函数,其功能为清除外设PPP标志位,例如:I2C_ClearFlag. 名为PPP_GetITStatus的函数,其功能为判断来自外设PPP的中断发生与否,例如:I2C_GetITStatus. 名为PPP_ClearITPendingBit的函数,其功能为清除外设PPP中断待处理标志位,例如: I2C_ClearITPendingBit.typedef signed long s32; typedef signed short s16; typ

4、edef 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 co

5、nst 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 con

6、st 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 On

7、ly */ typedef volatile unsigned char const vuc8; /* Read Only */一、通用输入/输出(GPIO)GPIO寄存器结构GPIO_TypeDef和AFIO_TypeDef,在文件“stm32f10x_map.h”中定义如下: typedef struct vu32 CRL; vu32 CRH; vu32 IDR; vu32 ODR; vu32 BSRR; vu32 BRR; vu32 LCKR; GPIO_TypeDef; typedef struct vu32 EVCR; vu32 MAPR; vu32 EXTICR4; AFIO_Ty

8、peDef;GPIO库函数1 函数GPIO_DeInit功能描述:将外设GPIOx寄存器重设为缺省值例:GPIO_DeInit(GPIOA);2 函数GPIO_AFIODeInit功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值例:GPIO_AFIODeInit();3 函数GPIO_Init功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器例:GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GP

9、IO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitTypeDef structure GPIO_InitTypeDef定义于文件“stm32f10x_gpio.h”: typedef struct u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; GPIO_InitTypeDef; GPIO_P

10、in 该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中多个管脚。可以使用下表中的任意组合。GPIO_Pin_None:无管脚被选中 GPIO_Pin_x:选中管脚x(0-15)GPIO_Pin_All:选中全部管脚GPIO_Speed GPIO_Speed:用以设置选中管脚的速率。GPIO_Speed_10MHz:最高输出速率10MHz GPIO_Speed_2MHz:最高输出速率2MHz GPIO_Speed_50MHz:最高输出速率50MHz GPIO_Mode GPIO_Mode:用以设置选中管脚的工作状态。GPIO_Mode_AIN:模拟输入 GPIO_Mode_IN_FL

11、OATING:浮空输入 GPIO_Mode_IPD:下拉输入 GPIO_Mode_IPU:上拉输入 GPIO_Mode_Out_OD:开漏输出 GPIO_Mode_Out_PP:推挽输出 GPIO_Mode_AF_OD:复用开漏输出 GPIO_Mode_AF_PP:复用推挽输出4 函数GPIO_StructInit功能描述:把GPIO_InitStruct中的每一个参数按缺省值填入例:GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit(&GPIO_InitStructure);GPIO_InitStruct:GPIO_Pin:GPIO_Pi

12、n_All GPIO_Speed:GPIO_Speed_2MHz GPIO_Mode:GPIO_Mode_IN_FLOATING5 函数GPIO_ReadInputDataBit功能描述:读取指定端口管脚的输入例:u8 ReadValue; ReadValue = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7);6 函数GPIO_ReadInputData功能描述:读取指定的GPIO端口输入例:u16 ReadValue; ReadValue = GPIO_ReadInputData(GPIOC);7 函数GPIO_ReadOutputDataBit功能描述:

13、读取指定端口管脚的输出例:u8 ReadValue; ReadValue = GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_7);8 函数GPIO_ReadOutputData功能描述:读取指定的GPIO端口输出例:u16 ReadValue; ReadValue = GPIO_ReadOutputData(GPIOC);9 函数GPIO_SetBits功能描述:置位指定的数据端口位例: GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);10 函数GPIO_ResetBits功能描述:清除指定的数据端口位例:GPIO_

14、ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);11 函数GPIO_WriteBit功能描述:设置或者清除指定的数据端口位例: GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_SET);12 函数GPIO_Write功能描述:向指定GPIO数据端口写入数据例: GPIO_Write(GPIOA, 0x1101);13 函数GPIO_PinLockConfig功能描述:锁定GPIO管脚设置寄存器例: GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);14 函数GPIO_Even

15、tOutputConfig功能描述:选择GPIO管脚用作事件输出例: GPIO_EventOutputConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);GPIO_PortSource GPIO_PortSource用以选择用作事件输出的GPIO端口。GPIO_PinSource GPIO_PinSource用以选择用作事件输出的GPIO管脚。15 函数GPIO_EventOutputCmd功能描述:使能或者失能事件输出例: GPIO_EventOutputConfig(GPIO_PortSourceGPIOC, GPIO_PinSource6); GP

16、IO_EventOutputCmd(ENABLE);16 函数GPIO_PinRemapConfig功能描述:改变指定管脚的映射例: GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);GPIO_Remap GPIO_Remap用以选择用作事件输出的GPIO端口。GPIO_Remap_SPI1:SPI1复用功能映射GPIO_Remap_I2C1:I2C1复用功能映射GPIO_Remap_USART1:USART1复用功能映射GPIO_PartialRemap_USART3:USART2复用功能映射GPIO_FullRemap_USART3:USART3复用

17、功能完全映射GPIO_PartialRemap_TIM1:USART3复用功能部分映射GPIO_FullRemap_TIM1:TIM1复用功能完全映射GPIO_PartialRemap1_TIM2:TIM2复用功能部分映射1 GPIO_PartialRemap2_TIM2:TIM2复用功能部分映射2 GPIO_FullRemap_TIM2:TIM2复用功能完全映射GPIO_PartialRemap_TIM3:TIM3复用功能部分映射GPIO_FullRemap_TIM3:TIM3复用功能完全映射GPIO_Remap_TIM4:TIM4复用功能映射GPIO_Remap1_CAN:CAN复用功能映

18、射1 GPIO_Remap2_CAN:CAN复用功能映射2 GPIO_Remap_PD01:PD01复用功能映射GPIO_Remap_SWJ_NoJTRST:除JTRST外SWJ完全使能(JTAG+SW-DP) GPIO_Remap_SWJ_JTAGDisable:JTAG-DP失能 + SW-DP使能GPIO_Remap_SWJ_Disable:SWJ完全失能(JTAG+SW-DP)17 函数GPIO_EXTILineConfig功能描述:选择GPIO管脚用作外部中断线路例: GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8

19、);二、外部中断/事件控制器(EXTI)EXTI寄存器结构EXTI_TypeDef,在文件“stm32f10x_map.h”中定义如下:typedef struct vu32 IMR; vu32 EMR; vu32 RTSR; vu32 FTSR; vu32 SWIER; vu32 PR; EXTI_TypeDef;EXTI库函数1 函数EXTI_DeInit功能描述:将外设EXTI寄存器重设为缺省值例:EXTI_DeInit();2 函数EXTI_Init功能描述:根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器例:EXTI_InitTypeDef EXTI_InitS

20、tructure; EXTI_InitStructure.EXTI_Line = EXTI_Line12 | EXTI_Line14; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);EXTI_InitTypeDef structure EXTI_InitTypeDef定义于文件“st

21、m32f10x_exti.h”: typedef struct u32 EXTI_Line; EXTIMode_TypeDef EXTI_Mode; EXTIrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; EXTI_InitTypeDef;EXTI_Line EXTI_Line选择了待使能或者失能的外部线路。EXTI_Linex:外部中断线x(0-18)EXTI_Mode EXTI_Mode:设置了被使能线路的模式。EXTI_Mode_Event:设置EXTI线路为事件请求EXTI_Mode_Interrupt:设置EXTI

22、线路为中断请求EXTI_Trigger EXTI_Trigger:设置了被使能线路的触发边沿。EXTI_Trigger_Falling:设置输入线路下降沿为中断请求 EXTI_Trigger_Rising:设置输入线路上升沿为中断请求 EXTI_Trigger_Rising_Falling:设置输入线路上升沿和下降沿为中断请求EXTI_LineCmd EXTI_LineCmd用来定义选中线路的新状态。它可以被设为ENABLE或者DISABLE。3 函数EXTI_StructInit功能描述:把EXTI_InitStruct中的每一个参数按缺省值填入例: EXTI_InitTypeDef EXT

23、I_InitStructure; EXTI_StructInit(&EXTI_InitStructure);EXTI_InitStruct缺省值EXTI_Line: EXTI_LineNone EXTI_Mode: EXTI_Mode_Interrupt EXTI_Trigger: EXTI_Trigger_Falling EXTI_LineCmd: DISABLE4 函数EXTI_GenerateSWInterrupt功能描述:产生一个软件中断例:EXTI_GenerateSWInterrupt(EXTI_Line6);5 函数EXTI_GetFlagStatus功能描述:检查指定的EXTI

24、线路标志位设置与否例: FlagStatus EXTIStatus; EXTIStatus = EXTI_GetFlagStatus(EXTI_Line8);6 函数EXTI_ClearFlag功能描述:清除EXTI线路挂起标志位例:EXTI_ClearFlag(EXTI_Line2);7 函数EXTI_GetITStatus功能描述:检查指定的EXTI线路触发请求发生与否例: ITStatus EXTIStatus; EXTIStatus = EXTI_GetITStatus(EXTI_Line8);8 函数EXTI_ClearITPendingBit功能描述:清除EXTI线路挂起位例: E

25、XTI_ClearITpendingBit(EXTI_Line2);三、通用定时器(TIM)TIM寄存器结构TIM_TypeDeff,在文件“stm32f10x_map.h”中定义如下: typedef struct vu16 CR1; u16 RESERVED0; vu16 CR2; u16 RESERVED1; vu16 SMCR; u16 RESERVED2; vu16 DIER; u16 RESERVED3; vu16 SR; u16 RESERVED4; vu16 EGR; u16 RESERVED5; vu16 CCMR1; u16 RESERVED6; vu16 CCMR2; u

26、16 RESERVED7; vu16 CCER; u16 RESERVED8; vu16 CNT; u16 RESERVED9; vu16 PSC; u16 RESERVED10; vu16 ARR; u16 RESERVED113; vu16 CCR1; u16 RESERVED12; vu16 CCR2; u16 RESERVED13; vu16 CCR3; u16 RESERVED14; vu16 CCR4; u16 RESERVED153; vu16 DCR; u16 RESERVED16; vu16 DMAR; u16 RESERVED17; TIM_TypeDef;TIM库函数1

27、函数TIM_DeInit功能描述:将外设TIMx寄存器重设为缺省值例: TIM_DeInit(TIM2);2 函数TIM_TimeBaseInit功能描述:根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位例: TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseStructure.TIM_ClockDivision =

28、0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);TIM_TimeBaseInitTypeDef structure TIM_TimeBaseInitTypeDef定义于文件“stm32f10x_tim.h”: typedef struct u16 TIM_Period; u16 TIM_Prescaler; u8 TIM_ClockDivision; u16 TIM_CounterMode; TIM_TimeBaseInitTypeDef; TIM_Period TIM_Period设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1