首页 STM32所用外设固件函数简介

STM32所用外设固件函数简介

举报
开通vip

STM32所用外设固件函数简介童梦无忧网 试管婴儿论坛www.tm51.com 本文由s52001236633贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 STM32固件库说明 固件(Firmware)是介于软件(Software,RAM 中的程序,断电后会消失)和硬件 (Hardware,物理电路)之间。固件一般是永久性地存储在 ROM 中,比如 PC ...

STM32所用外设固件函数简介
童梦无忧网 试管婴儿论坛www.tm51.com 本文由s52001236633贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强 STM32固件库说明 固件(Firmware)是介于软件(Software,RAM 中的程序,断电后会消失)和硬件 (Hardware,物理电路)之间。固件一般是永久性地存储在 ROM 中,比如 PC 的 BIOS 程 序。软件和硬件之间的差别类似于纸张(硬件)和写在纸上的字(软件) ,固件则可比喻为 一封为了特定目的而 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的标准格式的信。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(实时操作系统)定义了独立于微控制器的接口,该接口包括调 试通道定义。 ● 中间设备访问层:为软件提供了访问外设的通用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。芯片供应商需修改中间设备 访问层, 以适应中间设备组件用到的微控制器上的外设。 目前中间设备访问层仍处于开 发过程中,本文不做详述。 芯片供应商扩展下列软件层: ● 微控制器外设访问层:提供片上所有外设的定义。 ● 外设的访问函数(可选):为外设提供额外的助手函数。 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 单片机的固件函数库使用的文件如 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 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 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 组通道配置间断模式 使能或者失能指定的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软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_339363
暂无简介~
格式:doc
大小:54KB
软件:Word
页数:9
分类:工学
上传时间:2012-01-08
浏览量:22