STM32库函数功能详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实用文案标准文档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.名为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.typedefsignedlongs32;typedefsignedshorts16;typedefsignedchars8;typedefsignedlongconstsc32;/*ReadOnly*/typedefsignedshortconstsc16;/*ReadOnly*/typedefsignedcharconstsc8;/*ReadOnly*/typedefvolatilesignedlongvs32;typedefvolatilesignedshortvs16;typedefvolatilesignedcharvs8;typedefvolatilesignedlongconstvsc32;/*ReadOnly*/typedefvolatilesignedshortconstvsc16;/*ReadOnly*/typedefvolatilesignedcharconstvsc8;/*ReadOnly*/typedefunsignedlongu32;typedefunsignedshortu16;typedefunsignedcharu8;typedefunsignedlongconstuc32;/*ReadOnly*/实用文案标准文档typedefunsignedshortconstuc16;/*ReadOnly*/typedefunsignedcharconstuc8;/*ReadOnly*/typedefvolatileunsignedlongvu32;typedefvolatileunsignedshortvu16;typedefvolatileunsignedcharvu8;typedefvolatileunsignedlongconstvuc32;/*ReadOnly*/typedefvolatileunsignedshortconstvuc16;/*ReadOnly*/typedefvolatileunsignedcharconstvuc8;/*ReadOnly*/一、通用输入/输出(GPIO)GPIO寄存器结构GPIO_TypeDef和AFIO_TypeDef,在文件“stm32f10x_map.h”中定义如下:typedefstruct{vu32CRL;vu32CRH;vu32IDR;vu32ODR;vu32BSRR;vu32BRR;vu32LCKR;}GPIO_TypeDef;typedefstruct{vu32EVCR;vu32MAPR;vu32EXTICR[4];}AFIO_TypeDef;GPIO库函数1函数GPIO_DeInit功能描述:将外设GPIOx寄存器重设为缺省值例:GPIO_DeInit(GPIOA);2函数GPIO_AFIODeInit实用文案标准文档功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值例:GPIO_AFIODeInit();3函数GPIO_Init功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器例:GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitTypeDefstructureGPIO_InitTypeDef定义于文件“stm32f10x_gpio.h”:typedefstruct{u16GPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;GPIO_Pin该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中多个管脚。可以使用下表中的任意组合。GPIO_Pin_None:无管脚被选中GPIO_Pin_x:选中管脚x(0--15)GPIO_Pin_All:选中全部管脚GPIO_SpeedGPIO_Speed:用以设置选中管脚的速率。GPIO_Speed_10MHz:最高输出速率10MHzGPIO_Speed_2MHz:最高输出速率2MHzGPIO_Speed_50MHz:最高输出速率50MHzGPIO_ModeGPIO_Mode:用以设置选中管脚的工作状态。GPIO_Mode_AIN:模拟输入GPIO_Mode_IN_FLOATING:浮空输入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_InitTypeDefGPIO_InitStructure;GPIO_StructInit(&GPIO_InitStructure);实用文案标准文档GPIO_InitStruct:GPIO_Pin:GPIO_Pin_AllGPIO_Speed:GPIO_Speed_2MHzGPIO_Mode:GPIO_Mode_IN_FLOATING5函数GPIO_ReadInputDataBit功能描述:读取指定端口管脚的输入例:u8ReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);6函数GPIO_ReadInputData功能描述:读取指定的GPIO端口输入例:u16ReadValue;ReadValue=GPIO_ReadInputData(GPIOC);7函数GPIO_ReadOutputDataBit功能描述:读取指定端口管脚的输出例:u8ReadValue;ReadValue=GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_7);8函数GPIO_ReadOutputData功能描述:读取指定的GPIO端口输出例:u16ReadValue;ReadValue=GPIO_ReadOutputData(GPIOC);9函数GPIO_SetBits功能描述:置位指定的数据端口位例:GPIO_SetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);10函数GPIO_ResetBits功能描述:清除指定的数据端口位例:GPIO_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_EventOutputConfig功能描述:选择GPIO管脚用作事件输出例:GPIO_EventOutputConfig(GPIO_PortSourceGPIOE,GPIO_PinSource5);GPIO_PortSourceGPIO_PortSource用以选择用作事件输出的GPIO端口。GPIO_PinSourceGPIO_PinSource用以选择用作事件输出的GPIO管脚。15函数GPIO_EventOutputCmd功能描述:使能或者失能事件输出例:GPIO_EventOutputConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);GPIO_EventOutputCmd(ENABLE);16函数GPIO_PinRemapConfig功能描述:改变指定管脚的映射例:GPIO_PinRemapConfig

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功