为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

STM32所用外设固件函数简介

2012-01-08 9页 doc 54KB 22阅读

用户头像

is_339363

暂无简介

举报
STM32所用外设固件函数简介童梦无忧网 试管婴儿论坛www.tm51.com 本文由s52001236633贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 STM32固件库说明 固件(Firmware)是介于软件(Software,RAM 中的程序,断电后会消失)和硬件 (Hardware,物理电路)之间。固件一般是永久性地存储在 ROM 中,比如 PC 的 BIOS...
STM32所用外设固件函数简介
童梦无忧网 试管婴儿论坛www.tm51.com 本文由s52001236633贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 STM32固件库说明 固件(Firmware)是介于软件(Software,RAM 中的程序,断电后会消失)和硬件 (Hardware,物理电路)之间。固件一般是永久性地存储在 ROM 中,比如 PC 的 BIOS 程 序。软件和硬件之间的差别类似于纸张(硬件)和写在纸上的字(软件) ,固件则可比喻为 一封为了特定目的而设计的的信。STM32 固件库给开发者访问底层硬件(时钟、 寄存器、外设等)提供了一个中间的 API,大大提高了应用程序的开发效率。 ST公司与2007年10月发布了V1.0版的STM32固件库,MDK3.22以及之前的版本均支持 该库。 2008年6月发布了V2.0版的固件库, 从2008年9月推出的MDK3.23开始使用V2.0版的固 件 库 。 参 见 MDK 安 装 目 录 下 的 \ARM\INC\ST\STM32F10x 中 的 固 件 库 头 文 件 , 以 及 \ARM\RV31\LIB\ST\STM32F10x中的固件库源代码。 本书提供了基于V1.0和V2.0版STM32固件库(FWLib)的参考例程,书中各章例程基于 V1.0版固件库, 但由于STM32固件库的优秀架构, 使得用户应用程序的代码无需修改或少量 修改,就可以在这2个版本固件库下运行。基于V2.0版固件库的各章例程放在光盘中供读者 参考。目前最新版本的固件库为V3.0版,相比V1.0和V2.0,V3.0版改动较大,升级固件库的 具体步骤详见ST Mircoelectronics公司发布的《如何从STM32F10xxx固件库V2.0.3 升级为 STM32F10xxx标准外设库V3.0.0》文档。 STM32的固件库采用CMSIS(Cortex-M3 microcontroller software interface standard)结 构,以解决用户在基于Cortex-M0/Cortex-M1或者Cortex-M3内核的微控制器上进行软件开发 时可能遇到的种种问。CMSIS还可以扩展,应用在将来的Cortex-M系列处理器内核上。 CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外 设、实时操作系统和中间设备之间的通用接口。CMSIS的层次结构如图D.1所示。 图D.1 CMSIS层次结构 1 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 CMSIS可以分为多个软件层次,ARM提供了下列部分,可用于多种编译器: ● 内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助手 函数。同时也为RTOS(实时操作系统)定义了独立于微控制器的接口,该接口包括调 试通道定义。 ● 中间设备访问层:为软件提供了访问外设的通用方法。芯片供应商需修改中间设备 访问层, 以适应中间设备组件用到的微控制器上的外设。 目前中间设备访问层仍处于开 发过程中,本文不做详述。 芯片供应商扩展下列软件层: ● 微控制器外设访问层:提供片上所有外设的定义。 ● 外设的访问函数(可选):为外设提供额外的助手函数。 CMSIS为Cortex-Mx微控制器系统定义了: ● 访问外设寄存器的通用方法和定义异常向量的通用方法。 ● 内核设备的寄存器名称和内核异常向量的名称。 ● 独立于微控制器的RTOS接口,带调试通道。 ● 中间设备组件接口(如TCP/IP栈,闪存文件系统) 从3.0版本开始,STM32F10xxx标准外设库的源代码采用了新的格式,所有源文件都按 照Doxygen格式书写,用这种书写格式的代码能够很便利地生成更加且内在关联性更强 的文档。由Doxygen生成的CHM文件完整地描述了TM32F10xxx标准外设库的全部组件,增 强了程序的可维护性、可读性。为代码写注释一直是大多数项目开发和程序员困扰的事情: 在哪些地方写注释,注释如何写,写多少等问题。更头痛的是维护文档的问题:编写或者改 动代码时修改相应的注释,但之后需要修正相应的文档却比较困难。 使用Doxygen就能把遵守这种格式的注释自动转化为对应的文档。如果能从注释直接转 化成文档,对开发人员无疑是一种福音。Doxygen是基于GPL的开源项目,是一个非常优秀 的文档系统,可以运行在Linux/Unix、Windows、Mac系统上,完全支持C++, C, Java等语言, 部分支持PHP和C#语言,已广泛使用。输出格式包括HTML、latex、RTF、ps、PDF、压缩 的HTML和unix manpage。在Java中就可以用Javadoc工具生成HTML格式的doxygen文档系 统。Doxygen在嵌入式开发中使用不多,从开发的角度来讲,嵌入式应用程序与底层硬件息 息相关,更应使用这种技术,增强程序的可维护性、可读性。 STM32 单片机的固件函数库使用的文件如表 D.1 所示,其体系结构图如图 D.2 所示。 表D.1 固件函数库文件描述 文件名 stm32f10x_conf.h 描述 参数设置文件,起到应用和库之间界面的作用。用户必须在运行自己 的程序前修改该文件。可以利用模板使能或者失能外设,也可以修改 外部晶振的参数,或是用该文件在编译前使能Debug或者release模式。 主函数体示例。 头文件,包含所有中断处理函数原形。 外设中断函数文件。用户可以加入自己的中断程序代码。对于指向同 一个中断向量的多个不同中断请求,可以利用函数通过判断外设的中 断标志位来确定准确的中断源。固件函数库提供了这些函数的名称。 包含了所有外设的头文件的头文件。 它是唯一一个用户需要包括在 2 main.c stm32f10x_it.h stm32f10x_it.c stm32f10x_lib.h 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 自己应用中的文件,起到应用和库之间界面的作用。 stm32f10x_lib.c stm32f10x_map.h stm32f10x_type.h stm32f10x_ppp.c stm32f10x_ppp.h cortexm3_macro.h cortexm3_macro.s Debug模式初始化文件。它包括多个指针的定义,每个指针指向特定 外设的首地址,以及在Debug模式被使能时,被调用的函数的定义。 该文件包含了存储器映像和所有寄存器物理地址的声明,既可以用于 Debug模式也可以用于release模式。所有外设都使用该文件。 通用声明文件。 包含所有外设驱动使用的通用类型和常数。 由C语言编写的外设PPP的驱动源程序文件。 外设PPP的头文件。 包含外设PPP函数的定义, 和这些函数使用的变量。 文件cortexm3_macro.s的头文件 Cortex-M3内核特殊指令的指令包装。 图 D.2 固件函数库文件体系结构图 表D.2~D.16是本书各章所用外设固件函数简介。 表D.2 RRC固件库函数 函数名 RCC_DeInit RCC_HSEConfig RCC_WaitForHSEStartUp RCC_AdjustHSICalibrationValue RCC_HSICmd RCC_PLLConfig RCC_PLLCmd RCC_SYSCLKConfig RCC_GetSYSCLKSource RCC_HCLKConfig RCC_PCLK1Config RCC_PCLK2Config 描述 将外设RCC寄存器重设为缺省值 设置外部高速晶振(HSE) 等待HSE起振 调整内部高速晶振(HSI)校准值 使能或者失能内部高速晶振(HSI) 设置PLL时钟源及倍频系数 使能或者失能PLL 设置系统时钟(SYSCLK) 返回用作系统时钟的时钟源 设置AHB时钟(HCLK) 设置低速AHB时钟(PCLK1) 设置高速AHB时钟(PCLK2) 3 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 RCC_ITConfig RCC_USBCLKConfig RCC_ADCCLKConfig RCC_LSEConfig RCC_LSICmd RCC_RTCCLKConfig RCC_RTCCLKCmd RCC_GetClocksFreq RCC_AHBPeriphClockCmd RCC_APB2PeriphClockCmd RCC_APB1PeriphClockCmd RCC_APB2PeriphResetCmd RCC_APB1PeriphResetCmd RCC_BackupResetCmd RCC_ClockSecuritySystemCmd RCC_MCOConfig RCC_GetFlagStatus RCC_ClearFlag RCC_GetITStatus RCC_ClearITPendingBit 使能或者失能指定的RCC中断 设置USB时钟(USBCLK) 设置ADC时钟(ADCCLK) 设置外部低速晶振(LSE) 使能或者失能内部低速晶振(LSI) 设置RTC时钟(RTCCLK) 使能或者失能RTC时钟 返回不同片上时钟的频率 使能或者失能AHB外设时钟 使能或者失能APB2外设时钟 使能或者失能APB1外设时钟 强制或者释放高速APB(APB2)外设复位 强制或者释放低速APB(APB1)外设复位 强制或者释放后备域复位 使能或者失能时钟安全系统 选择在MCO管脚上输出的时钟源 检查指定的RCC标志位设置与否 清除RCC的复位标志位 检查指定的RCC中断发生与否 清除RCC的中断待处理位 表D.3 GPIO固件库函数 函数名 GPIO_DeInit GPIO_AFIODeInit GPIO_Init GPIO_StructInit GPIO_ReadInputDataBit GPIO_ReadInputData GPIO_ReadOutputDataBit GPIO_ReadOutputData GPIO_SetBits GPIO_ResetBits GPIO_WriteBit GPIO_Write GPIO_PinLockConfig GPIO_EventOutputConfig GPIO_EventOutputCmd GPIO_PinRemapConfig GPIO_EXTILineConfig 描述 将外设GPIOx寄存器重设为缺省值 将复用功能(重映射事件控制和EXTI设置)重设为缺省值 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 把GPIO_InitStruct中的每一个参数按缺省值填入 读取指定端口管脚的输入 读取指定的GPIO端口输入 读取指定端口管脚的输出 读取指定的GPIO端口输出 设置指定的数据端口位 清除指定的数据端口位 设置或者清除指定的数据端口位 向指定GPIO数据端口写入数据 锁定GPIO管脚设置寄存器 选择GPIO管脚用作事件输出 使能或者失能事件输出 改变指定管脚的映射 选择GPIO管脚用作外部中断线路 表D.4 NVIC固件库函数 函数名 4 描述 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 NVIC_DeInit NVIC_SCBDeInit NVIC_PriorityGroupConfig NVIC_Init NVIC_StructInit NVIC_SETPRIMASK NVIC_RESETPRIMASK NVIC_SETFAULTMASK NVIC_RESETFAULTMASK NVIC_BASEPRICONFIG NVIC_GetBASEPRI NVIC_GetCurrentPendingIRQChannel NVIC_GetIRQChannelPendingBitStatus NVIC_SetIRQChannelPendingBit NVIC_ClearIRQChannelPendingBit NVIC_GetCurrentActiveHandler NVIC_GetIRQChannelActiveBitStatus NVIC_GetCPUID NVIC_SetVectorTable NVIC_GenerateSystemReset NVIC_GenerateCoreReset NVIC_SystemLPConfig NVIC_SystemHandlerConfig NVIC_SystemHandlerPriorityConfig NVIC_GetSystemHandlerPendingBitStatus NVIC_SetSystemHandlerPendingBit NVIC_ClearSystemHandlerPendingBit NVIC_GetSystemHandlerActiveBitStatus NVIC_GetFaultHandlerSources NVIC_GetFaultAddress 将外设NVIC寄存器重设为缺省值 将外设SCB寄存器重设为缺省值 设置优先级分组:先占优先级和从优先级 根据NVIC_InitStruct中指定的参数初始化外设 NVIC寄存器 把NVIC_InitStruct中的每一个参数按缺省值填 入 使能PRIMASK优先级:提升执行优先级至0 失能PRIMASK优先级 使能FAULTMASK优先级:提升执行优先级至 -1 失能FAULTMASK优先级 改变执行优先级从N(最低可设置优先级)提 升至1 返回BASEPRI屏蔽值 返回当前待处理IRQ标识符 检查指定的IRQ通道待处理位设置与否 设置指定的IRQ通道待处理位 清除指定的IRQ通道待处理位 返 回 当 前 活 动 的 Handler ( IRQ 通 道 和 系 统 Handler)的标识符 检查指定的IRQ通道活动位设置与否 返回ID号码,Cortex-M3内核的版本号和实现 细节 设置向量表的位置和偏移 产生一个系统复位 产生一个内核(内核+NVIC)复位 选择系统进入低功耗模式的条件 使能或者失能指定的系统Handler 设置指定的系统Handler优先级 检查指定的系统Handler待处理位设置与否 设置系统Handler待处理位 清除系统Handler待处理位 检查系统Handler活动位设置与否 返回表示出错的系统Handler源 返回产生表示出错的系统Handler所在位置的 地址 表D.5 EXTI固件库函数 函数名 EXTI_DeInit EXTI_Init EXTI_StructInit 描述 将外设EXTI寄存器重设为缺省值 根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器 把EXTI_InitStruct中的每一个参数按缺省值填入 5 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 EXTI_GenerateSWInterrupt EXTI_GetFlagStatus EXTI_ClearFlag EXTI_GetITStatus EXTI_ClearITPendingBit 产生一个软件中断 检查指定的EXTI线路标志位设置与否 清除EXTI线路挂起标志位 检查指定的EXTI线路触发请求发生与否 清除EXTI线路挂起位 表D.6 TIM固件库函数 函数名 TIM_DeInit TIM_TimeBaseInit TIM_OCInit TIM_ICInit TIM_TimeBaseStructInit TIM_OCStructInit TIM_ICStructInit TIM_Cmd TIM _ITConfig TIM_DMAConfig TIM_DMACmd TIM_InternalClockConfig TIM_ITRxExternalClockConfig TIM_TIxExternalClockConfig TIM_ETRClockMode1Config TIM_ETRClockMode2Config TIM_ETRConfig TIM_SelectInputTrigger TIM_PrescalerConfig TIM_CounterModeConfig TIM_ForcedOC1Config TIM_ForcedOC2Config TIM_ForcedOC3Config TIM_ForcedOC4Config TIM_ARRPreloadConfig TIM_SelectCCDMA TIM_OC1PreloadConfig TIM_OC2PreloadConfig TIM_OC3PreloadConfig TIM_OC4PreloadConfig TIM_OC1FastConfig TIM_OC2FastConfig TIM_OC3FastConfig TIM_OC4FastConfig 描述 将外设TIMx寄存器重设为缺省值 根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx 的时间基数单位 根据TIM_OCInitStruct中指定的参数初始化外设TIMx 根据TIM_ICInitStruct中指定的参数初始化外设TIMx 把TIM_TimeBaseInitStruct中的每一个参数按缺省值填入 把TIM_OCInitStruct中的每一个参数按缺省值填入 把TIM_ICInitStruct中的每一个参数按缺省值填入 使能或者失能TIMx外设 使能或者失能指定的TIM中断 设置TIMx的DMA接口 使能或者失能指定的TIMx的DMA请求 设置TIMx内部时钟 设置TIMx内部触发为外部时钟模式 设置TIMx触发为外部时钟 配置TIMx外部时钟模式1 配置TIMx外部时钟模式2 配置TIMx外部触发 选择TIMx输入触发源 设置TIMx预分频 设置TIMx计数器模式 置TIMx输出1为活动或者非活动电平 置TIMx输出2为活动或者非活动电平 置TIMx输出3为活动或者非活动电平 置TIMx输出4为活动或者非活动电平 使能或者失能TIMx在ARR上的预装载寄存器 选择TIMx外设的捕获比较DMA源 使能或者失能TIMx在CCR1上的预装载寄存器 使能或者失能TIMx在CCR2上的预装载寄存器 使能或者失能TIMx在CCR3上的预装载寄存器 使能或者失能TIMx在CCR4上的预装载寄存器 设置TIMx捕获比较1快速特征 设置TIMx捕获比较2快速特征 设置TIMx捕获比较3快速特征 设置TIMx捕获比较4快速特征 6 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 TIM_ClearOC1Ref TIM_ClearOC2Ref TIM_ClearOC3Ref TIM_ClearOC4Ref TIM_UpdateDisableConfig TIM_EncoderInterfaceConfig TIM_GenerateEvent TIM_OC1PolarityConfig TIM_OC2PolarityConfig TIM_OC3PolarityConfig TIM_OC4PolarityConfig TIM_UpdateRequestConfig TIM_SelectHallSensor TIM_SelectOnePulseMode TIM_SelectOutputTrigger TIM_SelectSlaveMode TIM_SelectMasterSlaveMode TIM_SetCounter TIM_SetAutoreload TIM_SetCompare1 TIM_SetCompare2 TIM_SetCompare3 TIM_SetCompare4 TIM_SetIC1Prescaler TIM_SetIC2Prescaler TIM_SetIC3Prescaler TIM_SetIC4Prescaler TIM_SetClockDivision TIM_GetCapture1 TIM_GetCapture2 TIM_GetCapture3 TIM_GetCapture4 TIM_GetCounter TIM_GetPrescaler TIM_GetFlagStatus TIM_ClearFlag TIM_GetITStatus TIM_ClearITPendingBit 在一个外部事件时清除或者保持OCREF1信号 在一个外部事件时清除或者保持OCREF2信号 在一个外部事件时清除或者保持OCREF3信号 在一个外部事件时清除或者保持OCREF4信号 使能或者失能TIMx更新事件 设置TIMx编码界面 设置TIMx事件由软件产生 设置TIMx通道1极性 设置TIMx通道2极性 设置TIMx通道3极性 设置TIMx通道4极性 设置TIMx更新请求源 使能或者失能TIMx霍尔传感器接口 设置TIMx单脉冲模式 选择TIMx触发输出模式 选择TIMx从模式 设置或者重置TIMx主/从模式 设置TIMx计数器寄存器值 设置TIMx自动重装载寄存器值 设置TIMx捕获比较1寄存器值 设置TIMx捕获比较2寄存器值 设置TIMx捕获比较3寄存器值 设置TIMx捕获比较4寄存器值 设置TIMx输入捕获1预分频 设置TIMx输入捕获2预分频 设置TIMx输入捕获3预分频 设置TIMx输入捕获4预分频 设置TIMx的时钟分割值 获得TIMx输入捕获1的值 获得TIMx输入捕获2的值 获得TIMx输入捕获3的值 获得TIMx输入捕获4的值 获得TIMx计数器的值 获得TIMx预分频值 检查指定的TIM标志位设置与否 清除TIMx的待处理标志位 检查指定的TIM中断发生与否 清除TIMx的中断待处理位 表D.7 TIM1固件库函数 函数名 TIM1_DeInit TIM1_TIM1BaseInit 描述 将外设TIM1寄存器重设为缺省值 根 据 TIM1_TIM1BaseInitStruct 中 指 定 的 参 数 初 始 化 7 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 TIM1的时间基数单位 TIM1_OC1Init TIM1_OC2Init TIM1_OC3Init TIM1_OC4Init TIM1_BDTRConfig TIM1_ICInit TIM1_PWMIConfig TIM1_TIM1BaseStructInit TIM1_OCStructInit TIM1_ICStructInit TIM1_BDTRStructInit TIM1_Cmd TIM1_CtrlPWMOutputs TIM1_ITConfig TIM1_DMAConfig TIM1_DMACmd TIM1_InternalClockConfig TIM1_ETRClockMode1Config TIM1_ETRClockMode2Config TIM1_ETRConfig TIM1_ITRxExternalClockConfig TIM1_TIxExternalClockConfig TIM1_SelectInputTrigger TIM1_UpdateDisableConfig TIM1_UpdateRequestConfig TIM1_SelectHallSensor TIM1_SelectOnePulseMode TIM1_SelectOutputTrigger TIM1_SelectSlaveMode TIM1_SelectMasterSlaveMode TIM1_EncoderInterfaceConfig TIM1_PrescalerConfig TIM1_CounterModeConfig TIM1_ForcedOC1Config TIM1_ForcedOC2Config TIM1_ForcedOC3Config TIM1_ForcedOC4Config TIM1_ARRPreloadConfig TIM1_SelectCOM 根据TIM1_OCInitStruct中指定的参数初始化TIM1通道1 根据TIM1_OCInitStruct中指定的参数初始化TIM1通道2 根据TIM1_OCInitStruct中指定的参数初始化TIM1通道3 根据TIM1_OCInitStruct中指定的参数初始化TIM1通道4 设置刹车特性,死区时间,锁电平,OSSI,OSSR状态 和AOE(自动输出使能) 根据TIM1_ICInitStruct中指定的参数初始化外设TIM1 根据TIM1_ICInitStruct中指定的参数设置外设TIM1工 作在PWM输入模式 把TIM1_TIM1BaseInitStruct中的每一个参数按缺省值填 入 把TIM1_OCInitStruct中的每一个参数按缺省值填入 把TIM1_ICInitStruct中的每一个参数按缺省值填入 把TIM1_BDTRInitStruct中的每一个参数按缺省值填入 使能或者失能TIM1外设 使能或者失能TIM1外设的主输出 使能或者失能指定的TIM1中断 设置TIM1的DMA接口 使能或者失能指定的TIM1的DMA请求 设置DMA内部时钟 配置TIM1外部时钟模式1 配置TIM1外部时钟模式2 配置TIM1外部触发 设置TIM1内部触发为外部时钟模式 设置TIM1触发为外部时钟 选择TIM1输入触发源 使能或者失能TIM1更新事件 设置TIM1更新请求源 使能或者失能TIM1霍尔传感器接口 设置TIM1单脉冲模式 选择TIM1触发输出模式 选择TIM1从模式 设置或者重置TIM1主/从模式 设置TIM1编码界面 设置TIM1预分频 设置TIM1计数器模式 置TIM1输出1为活动或者非活动电平 置TIM1输出2为活动或者非活动电平 置TIM1输出3为活动或者非活动电平 置TIM1输出4为活动或者非活动电平 使能或者失能TIM1在ARR上的预装载寄存器 选择TIM1外设的通讯事件 8 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 TIM1_SelectCCDMA TIM1_CCPreloadControl TIM1_OC1PreloadConfig TIM1_OC2PreloadConfig TIM1_OC3PreloadConfig TIM1_OC4PreloadConfig TIM1_OC1FastConfig TIM1_OC2FastConfig TIM1_OC3FastConfig TIM1_OC4FastConfig TIM1_ClearOC1Ref TIM1_ClearOC2Ref TIM1_ClearOC3Ref TIM1_ClearOC4Ref TIM1_GenerateEvent TIM1_OC1PolarityConfig TIM1_OC1NPolarityConfig TIM1_OC2PolarityConfig TIM1_OC2NPolarityConfig TIM1_OC3PolarityConfig TIM1_OC3NPolarityConfig TIM1_OC4PolarityConfig TIM1_SetCounter TIM1_CCxCmd TIM1_CCxNCmd TIM1_SelectOCxM 选择TIM1外设的捕获比较DMA源 设置或者重置TIM1捕获比较控制位 使能或者失能TIM1在CCR1上的预装载寄存器 使能或者失能TIM1在CCR2上的预装载寄存器 使能或者失能TIM1在CCR3上的预装载寄存器 使能或者失能TIM1在CCR4上的预装载寄存器 设置TIM1捕获比较1快速特征 设置TIM1捕获比较2快速特征 设置TIM1捕获比较3快速特征 设置TIM1捕获比较4快速特征 在一个外部事件时清除或者保持OCREF1信号 在一个外部事件时清除或者保持OCREF2信号 在一个外部事件时清除或者保持OCREF3信号 在一个外部事件时清除或者保持OCREF4信号 设置TIM1事件由软件产生 设置TIM1通道1N极性 设置TIM1通道1N极性 设置TIM1通道2极性 设置TIM1通道2N极性 设置TIM1通道3极性 设置TIM1通道3N极性 设置TIM1通道4极性 设置TIM1计数器寄存器值 使能或者失能TIM1捕获比较通道x 使能或者失能TIM1捕获比较通道xN 选择TIM1输出比较模式。 本函数在改变输出比较模式前 失能选中的通道。用户必须使用函数TIM1_CCxCmd和 TIM1_CCxNCmd来使能这个通道。 设置TIM1自动重装载寄存器值 设置TIM1捕获比较1寄存器值 设置TIM1捕获比较2寄存器值 设置TIM1捕获比较3寄存器值 设置TIM1捕获比较4寄存器值 设置TIM1输入捕获1预分频 设置TIM1输入捕获2预分频 设置TIM1输入捕获3预分频 设置TIM1输入捕获4预分频 设置TIM1的时钟分割值 获得TIM1输入捕获1的值 获得TIM1输入捕获2的值 获得TIM1输入捕获3的值 获得TIM1输入捕获4的值 获得TIM1计数器的值 9 TIM1_SetAutoreload TIM1_SetCompare1 TIM1_SetCompare2 TIM1_SetCompare3 TIM1_SetCompare4 TIM1_SetIC1Prescaler TIM1_SetIC2Prescaler TIM1_SetIC3Prescaler TIM1_SetIC4Prescaler TIM1_SetClockDivision TIM1_GetCapture1 TIM1_GetCapture2 TIM1_GetCapture3 TIM1_GetCapture4 TIM1_GetCounter 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 TIM1_GetPrescaler TIM1_GetFlagStatus TIM1_ClearFlag TIM1_GetITStatus TIM1_ClearITPendingBit 获得TIM1预分频值 检查指定的TIM1标志位设置与否 清除TIM1的待处理标志位 检查指定的TIM1中断发生与否 清除TIM1的中断待处理位 表D.8 USART固件库函数 函数名 USART_DeInit USART_Init USART_StructInit USART_Cmd USART_ITConfig USART_DMACmd USART_SetAddress USART_WakeUpConfig USART_ReceiverWakeUpCmd USART_LINBreakDetectLengthConfig USART_LINCmd USART_SendData USART_ReceiveData USART_SendBreak USART_SetGuardTime USART_SetPrescaler USART_SmartCardCmd USART_SmartCardNackCmd USART_HalfDuplexCmd USART_IrDAConfig USART_IrDACmd USART_GetFlagStatus USART_ClearFlag USART_GetITStatus USART_ClearITPendingBit 描述 将外设USARTx寄存器重设为缺省值 根 据 USART_InitStruct 中 指 定 的 参 数 初 始 化 外 设 USARTx寄存器 把USART_InitStruct中的每一个参数按缺省值填入 使能或者失能USART外设 使能或者失能指定的USART中断 使能或者失能指定USART的DMA请求 设置USART节点的地址 选择USART的唤醒方式 检查USART是否处于静默模式 设置USART LIN中断检测长度 使能或者失能USARTx的LIN模式 通过外设USARTx发送单个数据 返回USARTx最近接收到的数据 发送中断字 设置指定的USART保护时间 设置USART时钟预分频 使能或者失能指定USART的智能卡模式 使能或者失能NACK传输 使能或者失能USART半双工模式 设置USART IrDA模式 使能或者失能USART IrDA模式 检查指定的USART标志位设置与否 清除USARTx的待处理标志位 检查指定的USART中断发生与否 清除USARTx的中断待处理位 表D.9 ADC固件库函数 函数名 ADC_DeInit ADC_Init ADC_StructInit ADC_Cmd ADC_DMACmd 描述 将外设ADCx的全部寄存器重设为缺省值 根 据 ADC_InitStruct 中 指 定 的 参 数 初 始 化 外 设 ADCx的寄存器 把ADC_InitStruct中的每一个参数按缺省值填入 使能或者失能指定的ADC 使能或者失能指定的ADC的DMA请求 10 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 ADC_ITConfig ADC_ResetCalibration ADC_GetResetCalibrationStatus ADC_StartCalibration ADC_GetCalibrationStatus ADC_SoftwareStartConvCmd ADC_GetSoftwareStartConvStatus ADC_DiscModeChannelCountConfig ADC_DiscModeCmd ADC_RegularChannelConfig ADC_ExternalTrigConvConfig ADC_GetConversionValue ADC_GetDuelModeConversionValue ADC_AutoInjectedConvCmd ADC_InjectedDiscModeCmd ADC_ExternalTrigInjectedConvConfig ADC_ExternalTrigInjectedConvCmd ADC_SoftwareStartinjectedConvCmd ADC_GetsoftwareStartinjected ConvStatus ADC_InjectedChannleConfig ADC_InjectedSequencerLengthConfig ADC_SetinjectedOffset ADC_GetInjectedConversionValue ADC_AnalogWatchdogCmd ADC_AnalogWatchdong ThresholdsConfig ADC_AnalogWatchdong SingleChannelConfig ADC_TampSensorVrefintCmd ADC_GetFlagStatus ADC_ClearFlag ADC_GetITStatus ADC_ClearITPendingBit 使能或者失能指定的ADC的中断 重置指定的ADC的校准寄存器 获取ADC重置校准寄存器的状态 开始指定ADC的校准程序 获取指定ADC的校准状态 使能或者失能指定的ADC的软件转换启动功能 获取ADC软件转换启动状态 对ADC规则组通道配置间断模式 使能或者失能指定的ADC规则组通道的间断模式 设置指定ADC的规则组通道,设置它们的转化顺 序和采样时间 使能或者失能ADCx的经外部触发启动转换功能 返回最近一次ADCx规则组的转换结果 返回最近一次双ADC模式下的转换结果 使能或者失能指定ADC在规则组转化后自动开始 注入组转换 使能或者失能指定ADC的注入组间断模式 配置ADCx的外部触发启动注入组转换功能 使能或者失能ADCx的经外部触发启动注入组转 换功能 使能或者失能ADCx软件启动注入组转换功能 获取指定ADC的软件启动注入组转换状态 设置指定ADC的注入组通道,设置它们的转化顺 序和采样时间 设置注入组通道的转换序列长度 设置注入组通道的转换偏移值 返回ADC指定注入通道的转换结果 使能或者失能指定单个/全体,规则/注入组通道上 的模拟看门狗 设置模拟看门狗的高/低阈值 对单个ADC通道设置模拟看门狗 使能或者失能温度传感器和内部参考电压通道 检查指定ADC标志位置1与0 清除ADCx的待处理标志位 检查指定的ADC中断是否发生 清除ADCx的中断待处理位 表D.10 DMA固件库函数 函数名 DMA_DeInit 描述 将DMA的通道x寄存器重设为缺省值 11 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 DMA_Init DMA_StructInit DMA_Cmd DMA_ITConfig DMA_GetCurrDataCounte DMA_GetFlagStatus DMA_ClearFlag DMA_GetITStatus DMA_ClearITPendingBit 根据DMA_InitStruct中指定的参数初始化DMA的通道x寄存器 把DMA_InitStruct中的每一个参数按缺省值填入 使能或者失能指定的通道x 使能或者失能指定的通道x中断 返回当前DMA通道x剩余的待传输数据数目 检查指定的DMA通道x标志位设置与否 清除DMA通道x待处理标志位 检查指定的DMA通道x中断发生与否 清除DMA通道x中断待处理标志位 表D.11 RTC固件库函数 函数名 RTC_ITConfig RTC_EnterConfigMode RTC_ExitConfigMode RTC_GetCounter RTC_SetCounter RTC_SetPrescaler RTC_SetAlarm RTC_GetDivider RTC_WaitForLastTask RTC_WaitForSynchro RTC_GetFlagStatus RTC_ClearFlag RTC_GetITStatus RTC_ClearITPendingBit 进入RTC配置模式 退出RTC配置模式 获取RTC计数器的值 设置RTC计数器的值 设置RTC预分频的值 设置RTC闹钟的值 描述 使能或者失能指定的RTC中断 获取RTC预分频分频因子的值 等待最近一次对RTC寄存器的写操作完成 等待RTC寄存器(RTC_CNT, RTC_ALR and RTC_PRL)与RTC 的APB时钟同步 检查指定的RTC标志位设置与否 清除RTC的待处理标志位 检查指定的RTC中断发生与否 清除RTC的中断待处理位 表D.12 BKP固件库函数 函数名 BKP_DeInit BKP_TamperPinLevelConfig BKP_TamperPinCmd BKP_ITConfig BKP_RTCOutputConfig BKP_SetRTCCalibrationValue BKP_WriteBackupRegister BKP_ReadBackupRegister BKP_GetFlagStatus BKP_ClearFlag BKP_GetITStatus BKP_ClearITPendingBit 描述 将外设BKP的全部寄存器重设为缺省值 设置侵入检测管脚的有效电平 使能或者失能管脚的侵入检测功能 使能或者失能侵入检测中断 选择在侵入检测管脚上输出的RTC时钟源 设置RTC时钟校准值 向指定的后备寄存器中写入用户程序数据 从指定的后备寄存器中读出数据 检查侵入检测管脚事件的标志位被设置与否 清除侵入检测管脚事件的待处理标志位 检查侵入检测中断发生与否 清除侵入检测中断的待处理位 12 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 表D.13 PWR固件库函数 函数名 PWR_DeInit PWR_BackupAccessCmd PWR_PVDCmd PWR_PVDLevelConfig PWR_WakeUpPinCmd PWR_EnterSTOPMode PWR_EnterSTANDBYMode PWR_GetFlagStatus PWR_ClearFlag 描述 将外设PWR寄存器重设为缺省值 使能或者失能RTC和后备寄存器访问 使能或者失能可编程电压探测器(PVD) 设置PVD的探测电压阈值 使能或者失能唤醒管脚功能 进入停止(STOP)模式 进入待命(STANDBY)模式 检查指定PWR标志位设置与否 清除PWR的待处理标志位 表D.14 IWDG固件库函数 函数名 IWDG_WriteAccessCmd IWDG_SetPrescaler IWDG_SetReload IWDG_ReloadCounter IWDG_Enable IWDG_GetFlagStatus 设置IWDG预分频值 设置IWDG重装载值 按照IWDG重装载寄存器的值重装载IWDG计数器 使能IWDG 检查指定的IWDG标志位被设置与否 表D.15 SYSTICK固件库函数 函数名 SysTick_CLKSourceConfig SysTick_SetReload SysTick_CounterCmd SysTick_ITConfig SysTick_GetCounter SysTick_GetFlagStatus 设置SysTick时钟源 设置SysTick重装载值 使能或者失能SysTick计数器 使能或者失能SysTick中断 获取SysTick计数器的值 检查指定的SysTick标志位设置与否 表D.16 WWDG固件库函数 函数名 WWDG_DeInit WWDG_SetPrescaler WWDG_SetWindowValue WWDG_EnableIT WWDG_SetCounter WWDG_Enable WWDG_GetFlagStatus WWDG_ClearFlag 设置WWDG预分频值 设置WWDG窗口值 使能WWDG早期唤醒中断(EWI) 设置WWDG计数器值 使能WWDG并装入计数器值 检查WWDG早期唤醒中断标志位被设置与否 清除早期唤醒中断标志位 描述 将外设WWDG寄存器重设为缺省值 描述 描述 使能或者失能对寄存器IWDG_PR和IWDG_RLR的写操作 13 1
/
本文档为【STM32所用外设固件函数简介】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索