STM32固件库使用手册RCC库函数部分
STM32库函数

模拟数字(ADC)ADC_DeInit 将外设ADCx 的全部寄存器重设为缺省值ADC_Init 根据ADC_InitStruct 中指定的参数初始化外设ADCx 的寄存器ADC_StructIni 把ADC_InitStruct 中的每一个参数按缺省值填入ADC_Cmd 使能或者失能指定的ADCADC_DMACmd 使能或者失能指定的ADC 的DMA 请求ADC_ITConfig 使能或者失能指定的ADC 的中断ADC_ResetCalibration 重置指定的ADC 的校准寄存器ADC_GetResetCalibrationStatus 获取ADC 重置校准寄存器的状态ADC_StartCalibration 开始指定ADC 的校准程序ADC_GetCalibrationStatus 获取指定ADC 的校准状态ADC_SoftwareStartConvCmd 使能或者失能指定的ADC 的软件转换启动功能ADC_GetSoftwareStartConvStatus 获取ADC 软件转换启动状态ADC_DiscModeChannelCountConfig 对ADC 规则组通道配置间断模式ADC_DiscModeCmd 使能或者失能指定的ADC 规则组通道的间断模式ADC_RegularChannelConfig 设置指定ADC 的规则组通道,设置它们的转化顺序和采样时间ADC_ExternalTrigConvConfig 使能或者失能ADCx 的经外部触发启动转换功能ADC_GetConversionValue 返回最近一次ADCx 规则组的转换结果ADC_GetDuelModeConversionValue 返回最近一次双ADC 模式下的转换结果ADC_AutoInjectedConvCmd 使能或者失能指定ADC 在规则组转化后自动开始注入组转换ADC_InjectedDiscModeCmd 使能或者失能指定ADC 的注入组间断模式ADC_ExternalTrigInjectedConvC 配置ADCx 的外部触发启动注入组转换功能ADC_ExternalTrigInjectedConvC 使能或者失能ADCx 的经外部触发启动注入组转换功能ADC_SoftwareStartinjectedConvC 使能或者失能ADCx 软件启动注入组转换功能ADC_GetsoftwareStartinjectedCo 获取指定ADC 的软件启动注入组转换状态ADC_InjectedChannleConfig 设置指定ADC 的注入组通道,设置它们的转化顺序和采样时间ADC_InjectedSequencerLengthCo 设置注入组通道的转换序列长度ADC_SetinjectedOffset 设置注入组通道的转换偏移值ADC_GetInjectedConversionValu 返回ADC 指定注入通道的转换结果ADC_AnalogWatchdogCmd 使能或者失能指定单个/全体,规则/注入组通道上的模拟看门狗ADC_AnalogWatchdongThreshol 设置模拟看门狗的高/低阈值ADC_AnalogWatchdongSingleChfig 对单个ADC 通道设置模拟看门狗ADC_TampSensorVrefintCmd 使能或者失能温度传感器和内部参考电压通道ADC_GetFlagStatus 检查制定ADC 标志位置1 与否ADC_ClearFlag 清除ADCx 的待处理标志位ADC_GetITStatus 检查指定的ADC 中断是否发生ADC_ClearITPendingBit 清除ADCx 的中断待处理位备份寄存器(BKP)BKP_DeInit 将外设BKP 的全部寄存器重设为缺省值BKP_TamperPinLevelConfig 设置侵入检测管脚的有效电平BKP_TamperPinCmd 使能或者失能管脚的侵入检测功能BKP_ITConfig 使能或者失能侵入检测中断BKP_RTCOutputConfig 选择在侵入检测管脚上输出的RTC 时钟源BKP_SetRTCCalibrationValu 设置RTC 时钟校准值BKP_WriteBackupRegister 向指定的后备寄存器中写入用户程序数据BKP_ReadBackupRegister 从指定的后备寄存器中读出数据BKP_GetFlagStatus 检查侵入检测管脚事件的标志位被设置与否BKP_ClearFlag 清除侵入检测管脚事件的待处理标志位BKP_GetITStatus 检查侵入检测中断发生与否BKP_ClearITPendingBit 清除侵侵入检测中断的待处理位控制器局域网(CAN)CAN_DeInit 将外设CAN 的全部寄存器重设为缺省值CAN_Init 根据CAN_InitStruct 中指定的参数初始化外设CAN 的寄存器CAN_FilterInit 根据CAN_FilterInitStruct 中指定的参数初始化外设CAN 的寄存器CAN_StructInit 把CAN_InitStruct 中的每一个参数按缺省值填入CAN_ITConfig 使能或者失能指定的CAN 中断CAN_Transmit 开始一个消息的传输CAN_TransmitStatus 检查消息传输的状态CAN_CancelTransmit 取消一个传输请求CAN_FIFORelease 释放一个FIFOCAN_MessagePending 返回挂号的信息数量CAN_Receive 接收一个消息CAN_Sleep 使CAN 进入低功耗模式CAN_WakeUp 将CAN 唤醒CAN_GetFlagStatus 检查指定的CAN 标志位被设置与否CAN_ClearFlag 清除CAN 的待处理标志位CAN_GetITStatus 检查指定的CAN 中断发生与否CAN_ClearITPendingBit 清除CAN 的中断待处理标志位DMA控制器(DMA)DMA_DeInit 将DMA 的通道x 寄存器重设为缺省值DMA_Init 根据DMA_InitStruct 中指定的参数初始化DMA 的通道x 寄存器DMA_StructInit 把DMA_InitStruct 中的每一个参数按缺省值填入DMA_Cmd 使能或者失能指定的通道xDMA_ITConfig 使能或者失能指定的通道x 中断DMA_GetCurrDataCounte 返回当前DMA 通道x 剩余的待传输数据数目DMA_GetFlagStatus 检查指定的DMA 通道x 标志位设置与否DMA_ClearFlag 清除DMA 通道x 待处理标志位DMA_GetITStatus 检查指定的DMA 通道x 中断发生与否DMA_ClearITPendingBit 清除DMA 通道x 中断待处理标志位外部中断/事件控制器(EXTI)EXTI_DeInit 将外设EXTI 寄存器重设为缺省值EXTI_Init 根据EXTI_InitStruct 中指定的参数初始化外设EXTI 寄存器EXTI_StructInit 把EXTI_InitStruct 中的每一个参数按缺省值填入EXTI_GenerateSWInterrupt 产生一个软件中断EXTI_GetFlagStatus 检查指定的EXTI 线路标志位设置与否EXTI_ClearFlag 清除EXTI 线路挂起标志位EXTI_GetITStatus 检查指定的EXTI 线路触发请求发生与否EXTI_ClearITPendingBit 清除EXTI 线路挂起位FLASH存储器(FLASH)FLASH_SetLatency 设置代码延时值FLASH_HalfCycleAccessCmd 使能或者失能FLASH 半周期访问FLASH_PrefetchBufferCmd 使能或者失能预取指缓存FLASH_Unlock 解锁FLASH 编写擦除控制器FLASH_Lock 锁定FLASH 编写擦除控制器FLASH_ErasePage 擦除一个FLASH 页面FLASH_EraseAllPages 擦除全部FLASH 页面FLASH_EraseOptionBytes 擦除FLASH 选择字节FLASH_ProgramWord 在指定地址编写一个字FLASH_ProgramHalfWord 在指定地址编写半字FLASH_ProgramOptionByteData 在指定FLASH 选择字节地址编写半字FLASH_EnableWriteProtection 对期望的页面写保护FLASH_ReadOutProtection 使能或者失能读出保护FLASH_UserOptionByteConfig 编写FLASH 用户选择字节:IWDG_SW /RST_STOP/RST_STDBY FLASH_GetUserOptionByte 返回FLASH 用户选择字节的值FLASH_GetWriteProtectionOptionByte 返回FLASH 写保护选择字节的值FLASH_GetReadOutProtectionStatus 检查FLASH 读出保护设置与否FLASH_GetPrefetchBufferStatus 检查FLASH 预取指缓存设置与否FLASH_ITConfig 使能或者失能指定FLASH 中断FLASH_GetFlagStatus 检查指定的FLASH 标志位设置与否FLASH_ClearFlag 清除FLASH 待处理标志位FLASH_GetStatus 返回FLASH 状态FLASH_WaitForLastOperation 等待某一个Flash 操作完成,或者发生TIMEOUT通用输入/输出(GPIO)GPIO_DeInit 将外设GPIOx 寄存器重设为缺省值GPIO_AFIODeInit 将复用功能(重映射事件控制和EXTI 设置)重设为缺省值GPIO_Init 根据GPIO_InitStruct 中指定的参数初始化外设GPIOx 寄存器GPIO_StructInit 把GPIO_InitStruct 中的每一个参数按缺省值填入GPIO_ReadInputDataBit 读取指定端口管脚的输入GPIO_ReadInputData 读取指定的GPIO 端口输入GPIO_ReadOutputDataBit 读取指定端口管脚的输出GPIO_ReadOutputData 读取指定的GPIO 端口输出GPIO_SetBits 设置指定的数据端口位GPIO_ResetBits 清除指定的数据端口位GPIO_WriteBit 设置或者清除指定的数据端口位GPIO_Write 向指定GPIO 数据端口写入数据GPIO_PinLockConfig 锁定GPIO 管脚设置寄存器GPIO_EventOutputConfig 选择GPIO 管脚用作事件输出GPIO_EventOutputCmd 使能或者失能事件输出GPIO_PinRemapConfig 改变指定管脚的映射GPIO_EXTILineConfig 选择GPIO 管脚用作外部中断线路内部集成电路(I2C)I2C_DeInit 将外设I2Cx 寄存器重设为缺省值I2C_Init 根据I2C_InitStruct 中指定的参数初始化外设I2Cx 寄存器I2C_StructInit 把I2C_InitStruct 中的每一个参数按缺省值填入I2C_Cmd 使能或者失能I2C 外设I2C_DMACmd 使能或者失能指定I2C 的DMA 请求I2C_DMALastTransferCmd 使下一次DMA 传输为最后一次传输I2C_GenerateSTART 产生I2Cx 传输START 条件I2C_GenerateSTOP 产生I2Cx 传输STOP 条件I2C_AcknowledgeConfig 使能或者失能指定I2C 的应答功能I2C_OwnAddress2Config 设置指定I2C 的自身地址2I2C_DualAddressCmd 使能或者失能指定I2C 的双地址模式I2C_GeneralCallCmd 使能或者失能指定I2C 的广播呼叫功能I2C_ITConfig 使能或者失能指定的I2C 中断I2C_SendData 通过外设I2Cx 发送一个数据I2C_ReceiveData 返回通过I2Cx 最近接收的数据I2C_Send7bitAddress 向指定的从I2C 设备传送地址字独立看门狗(IWDG)IWDG_WriteAccessCmd 使能或者失能对寄存器IWDG_PR 和IWDG_RLR 的写操作IWDG_SetPrescaler 设置IWDG 预分频值IWDG_SetReload 设置IWDG 重装载值IWDG_ReloadCounter 按照IWDG 重装载寄存器的值重装载IWDG 计数器IWDG_Enable 使能IWDGIWDG_GetFlagStatus 检查指定的IWDG 标志位被设置与否嵌套向量中断控制器(NVIC)NVIC_DeInitNVIC_SCBDeInitNVIC_PriorityGroupConfig NVIC_InitNVIC_StructInitNVIC_SETPRIMASK NVIC_RESETPRIMASK NVIC_SETFAULTMASK 将外设NVIC 寄存器重设为缺省值将外设SCB 寄存器重设为缺省值设置优先级分组:先占优先级和从优先级根据NVIC_InitStruct 中指定的参数初始化外设NVIC 寄存器把NVIC_InitStruct 中的每一个参数按缺省值填入使能PRIMASK 优先级:提升执行优先级至0失能PRIMASK 优先级使能FAULTMASK 优先级:提升执行优先级至-1NVIC_RESETFAULTMASK 失能FAULTMASK 优先级NVIC_BASEPRICONFIG 改变执行优先级从N(最低可设置优先级)提升至1NVIC_GetBASEPRI 返回BASEPRI 屏蔽值NVIC_GetCurrentPendingIRQChannel 返回当前待处理IRQ 标识符NVIC_GetIRQChannelPendingBitStatus 检查指定的IRQ 通道待处理位设置与否NVIC_SetIRQChannelPendingBit 设置指定的IRQ 通道待处理位NVIC_ClearIRQChannelPendingBit 清除指定的IRQ 通道待处理位NVIC_GetCurrentActiveHandler 返回当前活动的Handler(IRQ 通道和系统Handler)的标识符NVIC_GetIRQChannelActiveBitStatus 检查指定的IRQ 通道活动位设置与否NVIC_GetCPUID 返回ID 号码,Cortex-M3 内核的版本号和实现细节NVIC_SetVectorTable 设置向量表的位置和偏移NVIC_GenerateSystemReset 产生一个系统复位NVIC_GenerateCoreReset 产生一个内核(内核+NVIC)复位NVIC_SystemLPConfig 选择系统进入低功耗模式的条件NVIC_SystemHandlerConfig 使能或者失能指定的系统HandlerNVIC_SystemHandlerPriorityConfig 设置指定的系统Handler 优先级NVIC_GetSystemHandlerPendingBitStatus 检查指定的系统Handler 待处理位设置与否NVIC_SetSystemHandlerPendingBit 设置系统Handler 待处理位NVIC_ClearSystemHandlerPendingBit 清除系统Handler 待处理位NVIC_GetSystemHandlerActiveBitStatus 检查系统Handler 活动位设置与否NVIC_GetFaultHandlerSources 返回表示出错的系统Handler 源NVIC_GetFaultAddress 返回产生表示出错的系统Handler 所在位置的地址功耗控制(PWR)PWR_DeInit 将外设PWR 寄存器重设为缺省值PWR_BackupAccessCmd 使能或者失能RTC 和后备寄存器访问PWR_PVDCmd 使能或者失能可编程电压探测器(PVD)PWR_PVDLevelConfig 设置PVD 的探测电压阈值PWR_WakeUpPinCmd 使能或者失能唤醒管脚功能PWR_EnterSTOPMode 进入停止(STOP)模式PWR_EnterSTANDBYMode 进入待命(STANDBY)模式PWR_GetFlagStatus 检查指定PWR 标志位设置与否PWR_ClearFlag 清除PWR 的待处理标志位复位和时钟设置(RCC)RCC_DeInit 将外设RCC 寄存器重设为缺省值RCC_HSEConfig 设置外部高速晶振(HSE)RCC_WaitForHSEStartUp 等待HSE 起振RCC_AdjustHSICalibrationValue 调整内部高速晶振(HSI)校准值RCC_HSICmd 使能或者失能内部高速晶振(HSI)RCC_PLLConfig 设置PLL 时钟源及倍频系数RCC_PLLCmd 使能或者失能PLLRCC_SYSCLKConfig 设置系统时钟(SYSCLK)RCC_GetSYSCLKSource 返回用作系统时钟的时钟源RCC_HCLKConfig 设置AHB 时钟(HCLK)RCC_PCLK1Config 设置低速AHB 时钟(PCLK1)RCC_PCLK2Config 设置高速AHB 时钟(PCLK2)RCC_ITConfig 使能或者失能指定的RCC 中断RCC_USBCLKConfig 设置USB 时钟(USBCLK)RCC_ADCCLKConfig 设置ADC 时钟(ADCCLK)RCC_LSEConfig 设置外部低速晶振(LSE)RCC_LSICmd 使能或者失能内部低速晶振(LSI)RCC_RTCCLKConfig 设置RTC 时钟(RTCCLK)RCC_RTCCLKCmd 使能或者失能RTC 时钟RCC_GetClocksFreq 返回不同片上时钟的频率RCC_AHBPeriphClockCmd 使能或者失能AHB 外设时钟RCC_APB2PeriphClockCmd 使能或者失能APB2 外设时钟RCC_APB1PeriphClockCmd 使能或者失能APB1 外设时钟RCC_APB2PeriphResetCmd 强制或者释放高速APB(APB2)外设复位RCC_APB1PeriphResetCmd 强制或者释放低速APB(APB1)外设复位RCC_BackupResetCmd 强制或者释放后备域复位RCC_ClockSecuritySystemCmd 使能或者失能时钟安全系统RCC_MCOConfig 选择在MCO 管脚上输出的时钟源RCC_GetFlagStatus 检查指定的RCC 标志位设置与否RCC_ClearFlag 清除RCC 的复位标志位RCC_GetITStatus 检查指定的RCC 中断发生与否RCC_ClearITPendingBit 清除RCC 的中断待处理位实时时钟(RTC)RTC_ITConfig 使能或者失能指定的RTC 中断RTC_EnterConfigMode 进入RTC 配置模式RTC_ExitConfigMode 退出RTC 配置模式RTC_GetCounter 获取RTC 计数器的值RTC_SetCounter 设置RTC 计数器的值RTC_SetPrescaler 设置RTC 预分频的值RTC_SetAlarm 设置RTC 闹钟的值RTC_GetDivider 获取RTC 预分频分频因子的值RTC_WaitForLastTask 等待最近一次对RTC 寄存器的写操作完成RTC_WaitForSynchro 等待RTC 寄存器(RTC_CNT, RTC_ALR and RTC_PRL)与RTC 的APB 时钟同步RTC_GetFlagStatus 检查指定的RTC 标志位设置与否RTC_ClearFlag 清除RTC 的待处理标志位RTC_GetITStatus 检查指定的RTC 中断发生与否RTC_ClearITPendingBit 清除RTC 的中断待处理位串行外设接口(SPI)SPI_DeInit 将外设SPIx 寄存器重设为缺省值SPI_Init 根据SPI_InitStruct 中指定的参数初始化外设SPIx 寄存器SPI_StructInit 把SPI_InitStruct 中的每一个参数按缺省值填入SPI_Cmd 使能或者失能SPI 外设SPI_ITConfig 使能或者失能指定的SPI 中断SPI_DMACmd 使能或者失能指定SPI 的DMA 请求SPI_SendData 通过外设SPIx 发送一个数据SPI_ReceiveData 返回通过SPIx 最近接收的数据SPI_DMALastTransferCmd 使下一次DMA 传输为最后一次传输SPI_NSSInternalSoftwareConfig 为选定的SPI 软件配置内部NSS 管脚SPI_SSOutputCmd 使能或者失能指定的SPI SS 输出SPI_DataSizeConfig 设置选定的SPI 数据大小SPI_TransmitCRC 发送SPIx 的CRC 值SPI_CalculateCRC 使能或者失能指定SPI 的传输字CRC 值计算SPI_GetCRC 返回指定SPI 的发送或者接受CRC 寄存器值SPI_GetCRCPolynomial 返回指定SPI 的CRC 多项式寄存器值SPI_BiDirectionalLineConfig 选择指定SPI 在双向模式下的数据传输方向SPI_GetFlagStatus 检查指定的SPI 标志位设置与否SPI_ClearFlag 清除SPIx 的待处理标志位SPI_GetITStatus 检查指定的SPI 中断发生与否SPI_ClearITPendingBit 清除SPIx 的中断待处理位Cortex系统定时器(SysTick)SysTick_CLKSourceConfig 设置SysTick 时钟源SysTick_SetReload 设置SysTick 重装载值SysTick_CounterCmd 使能或者失能SysTick 计数器SysTick_ITConfig 使能或者失能SysTick 中断SysTick_GetCounter 获取SysTick 计数器的值SysTick_GetFlagStatus 检查指定的SysTick 标志位设置与否通用定时器(TIM)TIM_DeInit 将外设TIMx 寄存器重设为缺省值TIM_TimeBaseInit 根据TIM_TimeBaseInitStruct 中指定的参数初始化TIMx 的时间基数单位TIM_OCInit 根据TIM_OCInitStruct 中指定的参数初始化外设TIMxTIM_ICInit 根据TIM_ICInitStruct 中指定的参数初始化外设TIMxTIM_TimeBaseStructInit 把TIM_TimeBaseInitStruct 中的每一个参数按缺省值填入TIM_OCStructInit 把TIM_OCInitStruct 中的每一个参数按缺省值填入TIM_ICStructInit 把TIM_ICInitStruct 中的每一个参数按缺省值填入TIM_Cmd 使能或者失能TIMx 外设TIM _ITConfig 使能或者失能指定的TIM 中断TIM_DMAConfig 设置TIMx 的DMA 接口TIM_DMACmd 使能或者失能指定的TIMx 的DMA 请求TIM_InternalClockConfig 设置TIMx 内部时钟TIM_ITRxExternalClockConfig 设置TIMx 内部触发为外部时钟模式TIM_TIxExternalClockConfig 设置TIMx 触发为外部时钟TIM_ETRClockMode1Config 配置TIMx 外部时钟模式1TIM_ETRClockMode2Config 配置TIMx 外部时钟模式2TIM_ETRConfig 配置TIMx 外部触发TIM_SelectInputTrigger 选择TIMx 输入触发源TIM_PrescalerConfig 设置TIMx 预分频TIM_CounterModeConfig 设置TIMx 计数器模式TIM_ForcedOC1Config 置TIMx 输出1 为活动或者非活动电平TIM_ForcedOC2Config 置TIMx 输出2 为活动或者非活动电平TIM_ForcedOC3Config 置TIMx 输出3 为活动或者非活动电平TIM_ForcedOC4Config 置TIMx 输出4 为活动或者非活动电平TIM_ARRPreloadConfig 使能或者失能TIMx 在ARR 上的预装载寄存器TIM_SelectCCDMA 选择TIMx 外设的捕获比较DMA 源TIM_OC1PreloadConfig 使能或者失能TIMx 在CCR1 上的预装载寄存器TIM_OC2PreloadConfig 使能或者失能TIMx 在CCR2 上的预装载寄存器TIM_OC3PreloadConfig 使能或者失能TIMx 在CCR3 上的预装载寄存器TIM_OC4PreloadConfig 使能或者失能TIMx 在CCR4 上的预装载寄存器TIM_OC1FastConfig 设置TIMx 捕获比较1 快速特征TIM_OC2FastConfig 设置TIMx 捕获比较2 快速特征TIM_OC3FastConfig 设置TIMx 捕获比较3 快速特征TIM_OC4FastConfig 设置TIMx 捕获比较4 快速特征TIM_ClearOC1Ref 在一个外部事件时清除或者保持OCREF1 信号TIM_ClearOC2Ref 在一个外部事件时清除或者保持OCREF2 信号TIM_ClearOC3Ref 在一个外部事件时清除或者保持OCREF3 信号TIM_ClearOC4Ref 在一个外部事件时清除或者保持OCREF4 信号TIM_UpdateDisableConfig 使能或者失能TIMx 更新事件TIM_EncoderInterfaceConfig 设置TIMx 编码界面TIM_GenerateEvent 设置TIMx 事件由软件产生TIM_OC1PolarityConfig 设置TIMx 通道1 极性TIM_OC2PolarityConfig 设置TIMx 通道2 极性TIM_OC3PolarityConfig 设置TIMx 通道3 极性TIM_OC4PolarityConfig 设置TIMx 通道4 极性TIM_UpdateRequestConfig 设置TIMx 更新请求源TIM_SelectHallSensor 使能或者失能TIMx 霍尔传感器接口TIM_SelectOnePulseMode 设置TIMx 单脉冲模式TIM_SelectOutputTrigger 选择TIMx 触发输出模式TIM_SelectSlaveMode 选择TIMx 从模式TIM_SelectMasterSlaveMode 设置或者重置TIMx 主/从模式TIM_SetCounter 设置TIMx 计数器寄存器值TIM_SetAutoreload 设置TIMx 自动重装载寄存器值TIM_SetCompare1 设置TIMx 捕获比较1 寄存器值TIM_SetCompare2 设置TIMx 捕获比较2 寄存器值TIM_SetCompare3 设置TIMx 捕获比较3 寄存器值TIM_SetCompare4 设置TIMx 捕获比较4 寄存器值TIM_SetIC1Prescaler 设置TIMx 输入捕获1 预分频TIM_SetIC2Prescaler 设置TIMx 输入捕获2 预分频TIM_SetIC3Prescaler 设置TIMx 输入捕获3 预分频TIM_SetIC4Prescaler 设置TIMx 输入捕获4 预分频TIM_SetClockDivision 设置TIMx 的时钟分割值TIM_GetCapture1 获得TIMx 输入捕获1 的值TIM_GetCapture2 获得TIMx 输入捕获2 的值TIM_GetCapture3 获得TIMx 输入捕获3 的值TIM_GetCapture4 获得TIMx 输入捕获4 的值TIM_GetCounter 获得TIMx 计数器的值TIM_GetPrescaler 获得TIMx 预分频值TIM_GetFlagStatus 检查指定的TIM 标志位设置与否TIM_ClearFlag 清除TIMx 的待处理标志位TIM_GetITStatus 检查指定的TIM 中断发生与否TIM_ClearITPendingBit 清除TIMx 的中断待处理位高级控制定时器(TIM1)TIM1_DeInit 将外设TIM1 寄存器重设为缺省值TIM1_TIM1BaseInit 根据TIM1_TIM1BaseInitStruct 中指定的参数初始化TIM1 的时间基数单位TIM1_OC1Init 根据TIM1_OCInitStruct 中指定的参数初始化TIM1 通道1TIM1_OC2Init 根据TIM1_OCInitStruct 中指定的参数初始化TIM1 通道2TIM1_OC3Init 根据TIM1_OCInitStruct 中指定的参数初始化TIM1 通道3TIM1_OC4Init 根据TIM1_OCInitStruct 中指定的参数初始化TIM1 通道4TIM1_BDTRConfig 设置刹车特性,死区时间,锁电平,OSSI,OSSR 状态和AOE(自动输出使能)TIM1_ICInit 根据TIM1_ICInitStruct 中指定的参数初始化外设TIM1TIM1_PWMIConfig 根据TIM1_ICInitStruct 中指定的参数设置外设TIM1 工作在PWM输入模式TIM1_TIM1BaseStructInit 把TIM1_TIM1BaseInitStruct 中的每一个参数按缺省值填入TIM1_OCStructInit 把TIM1_OCInitStruct 中的每一个参数按缺省值填入TIM1_ICStructInit 把TIM1_ICInitStruct 中的每一个参数按缺省值填入TIM1_BDTRStructInit 把TIM1_BDTRInitStruct 中的每一个参数按缺省值填入TIM1_Cmd 使能或者失能TIM1 外设TIM1_CtrlPWMOutputs 使能或者失能TIM1 外设的主输出TIM1_ITConfig 使能或者失能指定的TIM1 中断TIM1_DMAConfig 设置TIM1 的DMA 接口TIM1_DMACmd 使能或者失能指定的TIM1 的DMA 请求TIM1_InternalClockConfig 设置DMA 内部时钟TIM1_ETRClockMode1Config 配置TIM1 外部时钟模式1TIM1_ETRClockMode2Config 配置TIM1 外部时钟模式2TIM1_ETRConfig 配置TIM1 外部触发TIM1_ITRxExternalClockConfig 设置TIM1 内部触发为外部时钟模式TIM1_TIxExternalClockConfig 设置TIM1 触发为外部时钟TIM1_SelectInputTrigger 选择TIM1 输入触发源TIM1_UpdateDisableConfig 使能或者失能TIM1 更新事件TIM1_UpdateRequestConfig 设置TIM1 更新请求源TIM1_SelectHallSensor 使能或者失能TIM1 霍尔传感器接口TIM1_SelectOnePulseMode 设置TIM1 单脉冲模式TIM1_SelectOutputTrigger 选择TIM1 触发输出模式TIM1_SelectSlaveMode 选择TIM1 从模式TIM1_SelectMasterSlaveMode 设置或者重置TIM1 主/从模式TIM1_EncoderInterfaceConfig 设置TIM1 编码界面TIM1_PrescalerConfig 设置TIM1 预分频TIM1_CounterModeConfig 设置TIM1 计数器模式TIM1_ForcedOC1Config 置TIM1 输出1 为活动或者非活动电平TIM1_ForcedOC2Config 置TIM1 输出2 为活动或者非活动电平TIM1_ForcedOC3Config 置TIM1 输出3 为活动或者非活动电平TIM1_ForcedOC4Config 置TIM1 输出4 为活动或者非活动电平TIM1_ARRPreloadConfig TIM1_SelectCOMTIM1_SelectCCDMA TIM1_CCPreloadControl 使能或者失能TIM1 在ARR 上的预装载寄存器选择TIM1 外设的通讯事件选择TIM1 外设的捕获比较DMA 源设置或者重置TIM1 捕获比较控制位TIM1_OC1PreloadConfig 使能或者失能TIM1 在CCR1 上的预装载寄存器TIM1_OC2PreloadConfig 使能或者失能TIM1 在CCR2 上的预装载寄存器TIM1_OC3PreloadConfig 使能或者失能TIM1 在CCR3 上的预装载寄存器TIM1_OC4PreloadConfig 使能或者失能TIM1 在CCR4 上的预装载寄存器TIM1_OC1FastConfig 设置TIM1 捕获比较1 快速特征TIM1_OC2FastConfig 设置TIM1 捕获比较2 快速特征TIM1_OC3FastConfig 设置TIM1 捕获比较3 快速特征TIM1_OC4FastConfig 设置TIM1 捕获比较4 快速特征TIM1_ClearOC1Ref 在一个外部事件时清除或者保持OCREF2 信号TIM1_ClearOC3Ref 在一个外部事件时清除或者保持OCREF3 信号TIM1_ClearOC4Ref 在一个外部事件时清除或者保持OCREF4 信号TIM1_GenerateEvent 设置TIM1 事件由软件产生TIM1_OC1PolarityConfig 设置TIM1 通道1N 极性TIM1_OC1NPolarityConfig 设置TIM1 通道1N 极性TIM1_OC2PolarityConfig 设置TIM1 通道2 极性TIM1_OC2NPolarityConfig 设置TIM1 通道2N 极性TIM1_OC3PolarityConfig 设置TIM1 通道3 极性TIM1_OC3NPolarityConfig 设置TIM1 通道3N 极性TIM1_OC4PolarityConfig 设置TIM1 通道4 极性TIM1_SetCounter 设置TIM1 计数器寄存器值TIM1_CCxCmd 使能或者失能TIM1 捕获比较通道xTIM1_CCxNCmd 使能或者失能TIM1 捕获比较通道xNTIM1_SelectOCxM 选择TIM1 输出比较模式。
单片机STM32开发中常用库函数分析

单片机STM32开发中常用库函数分析在STM32开发中,使用库函数可以帮助开发人员更快速、更便捷地实现目标功能。
下面是一些常用的STM32库函数的分析:1. GPIO库函数:GPIO库函数用于对STM32的通用输入输出引脚进行配置和控制。
通过这些函数可以实现引脚的初始化、读取和设置等操作。
例如,GPIO_Pin_Init(函数可以对引脚进行初始化配置,GPIO_Pin_Read(函数用于读取引脚的电平,GPIO_Pin_Write(函数用于设置引脚的输出电平。
这些函数的使用可以方便地对外设进行控制。
2. NVIC库函数:NVIC库函数用于对中断向量表进行操作和配置。
通过这些函数可以实现中断的使能、优先级的设置等操作。
例如,NVIC_EnableIRQ(函数可以使能指定的中断,NVIC_SetPriority(函数可设置中断的优先级。
这些函数的使用可以方便地管理中断响应。
3. RCC库函数:RCC库函数用于对STM32的时钟系统进行配置和管理。
通过这些函数可以实现外部时钟源的配置、APB总线时钟的配置等操作。
例如,RCC_OscConfig(函数可进行时钟源的配置,RCC_APBPeriphClockCmd(函数可使能相应的外设时钟。
这些函数的使用可以方便地进行时钟管理。
4. UART库函数:UART库函数用于对STM32的串行通讯端口进行操作和配置。
通过这些函数可以实现串口的初始化、发送和接收等操作。
例如,UART_Init(函数用于串口的初始化设置,UART_SendData(函数用于发送数据,UART_ReceiveData(函数用于接收数据。
这些函数的使用可以方便地进行串口通讯。
5. SPI库函数:SPI库函数用于对STM32的串行外设接口进行操作和配置。
通过这些函数可以实现SPI通讯的初始化、发送和接收等操作。
例如,SPI_Init(函数用于SPI的初始化设置,SPI_SendData(函数用于发送数据,SPI_ReceiveData(函数用于接收数据。
STM32库函数功能详解

STM32库函数功能详解STM32是一款广泛应用于嵌入式系统中的微控制器系列,由意法半导体(STMicroelectronics)开发。
它具有高性能、低功耗和丰富的外设功能,广泛应用于各种应用领域。
为了方便开发者进行快速开发和简化编程流程,STM32提供了一系列库函数,本文将对其功能进行详细解析。
1.GPIO库函数:GPIO库函数用于配置STM32的通用输入输出口(GPIO)功能,包括输入、输出模式的配置和读写操作。
通过GPIO库函数,开发者可以方便地读取外部输入信号、控制外部设备的输出。
例如,使用GPIO库函数可以简单地配置一个引脚为输入模式,并读取其电平状态,或者配置一个引脚为输出模式,并设置其输出电平。
2.EXTI库函数:EXTI库函数用于配置STM32的外部中断(EXTI)功能,可以实现对外部事件的中断响应功能。
通过EXTI库函数,开发者可以方便地配置外部中断的触发方式和优先级,以及处理中断事件。
例如,使用EXTI库函数可以配置一个引脚为上升沿触发模式,并在引脚触发中断时执行相应的中断服务函数。
3.RCC库函数:RCC库函数用于配置和控制STM32的时钟系统(RCC),包括各个外设模块和系统时钟的配置。
通过RCC库函数,开发者可以方便地配置STM32的时钟源、时钟分频和时钟使能。
例如,使用RCC库函数可以配置系统时钟为指定频率,以及使能和配置外设时钟。
4.NVIC库函数:NVIC库函数用于配置和控制STM32的中断控制器(NVIC)功能,包括中断向量表和中断优先级的配置。
通过NVIC库函数,开发者可以方便地配置中断向量表和中断优先级,以及控制中断的使能和屏蔽。
例如,使用NVIC库函数可以配置一个外部中断的优先级和使能状态,以及控制中断的屏蔽和释放。
5.ADC库函数:ADC库函数用于配置和控制STM32的模数转换器(ADC)功能,可以实现模拟信号的数字化转换。
通过ADC库函数,开发者可以方便地配置ADC的转换通道、采样速率和转换模式。
STM32F10x_RCC

STM32F10x_RCC16.1 RTC寄存器结构 (214)15 复位和时钟设置(RCC)RCC有多种⽤途,包括时钟设置,外设复位和时钟管理。
Section 15.1 RCC寄存器结构描述了固件函数库所使⽤的数据结构, Section 15.2 固件库函数介绍了函数库⾥的所有函数。
15.1 RCC寄存器结构RCC 寄存器结构,RCC_TypeDeff,在⽂件“stm2f10x_map.h中定义如下:typedef struct{vu32 CR;vu32 CFGR;vu32 CIR;vu32 APB2RSTR;vu32 APB1RSTR;vu32 AHBENR;vu32 APB2ENR;vu32 APB1ENR;vu32 BDCR;vu32 CSR;}RCC_TypeDef;RCC ⽂件:#define PERIPH_BASE ((u32)0x40000000)#define APB1PERIPH_BASE PERIPH_BASE#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)#define RCC_BASE (AHBPERIPH_BASE + 0x1000)#ifndef DEBUG...#ifdef _RCC#define RCC ((RCC_TypeDef *) RCC_BASE)#endif /*_RCC */...#else /* DEBUG */...#ifdef _RCCEXT RCC_TypeDef *RCC;#endif /*_RCC */...#endif使⽤Debug模式时,初始化指针RCC于⽂件:#ifdef _RCCRCC = (RCC_TypeDef *) RCC_BASE;#endif /*_RCC */为了访问RCC寄存器,, _RCC必须在⽂件“stm2f10x_conf.h中定义如下:#define _RCC15.2 RCC库函数Table 337. RCC库函数【函数间⾸页】15.2.1 函数RCC_DeInit1.2.该函数不重置CC_BDCR和RCC_CSR。
stm32库函数使用配置

stm32 固件库V3.0以上的版本,main等源文件中不再直接包含stm32f10x_conf.h,而是stm32f10x.h,stm32f10x.h则定义了启动设置,以及所有寄存器宏定义,此文件中需要注意的有:使用V3.0以上版本固件库的方法如下:1.选择device(配置函数STM32F10x.h,具体配置方法如下)在STM32F10x.h中有如下代码:#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined(STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices *//* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices *//* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices *//* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices *//* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices *//* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices *//* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices *//* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */#endif该代码的是让用户根据自己所使用的芯片的存储器(flash)大小,选择相应的flash编程算法,如果用户使用的是大容量存储芯片(如STM32F103VCT6),则只需要将对应大大容量存储器前面的屏蔽符去掉即可,去掉后为:#define STM32F10X_HD /*!< STM32F10X_HD: STM32 High density devices */其它部分代码不变。
STM32固件库详解

STM32固件库详解基于标准外设库的软件开发STM32 标准外设库概述STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。
该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。
因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。
每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。
每个器件的开发都由一个通用API (application programming interface应用编程界面 ) 驱动, API 对该驱动程序的结构,函数和参数名称都进行了标准化。
ST公司 2007 年 10 月发布了版本的固件库, MDK之前的版本均支持该库。
2008 年 6 月发布了版的固件库,从 2008 年 9 月推出的 MDK 版本至今均使用版本的固件库。
以后的版本相对之前的版本改动较大,本书使用目前较新的版本。
使用标准外设库开发的优势简单的说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。
标准外设库覆盖了从GPIO到定时器,再到 CAN、I2C、SPI、UART和 ADC等等的所有标准外设。
对应的C 源代码只是用了最基本的C编程的知识,所有代码经过严格测试,易于理解和使用,并且配有完整的文档,非常方便进行二次开发和应用。
STM32F10XXX标准外设库结构与文件描述1.标准外设库的文件结构在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。
STM32F10XXX的标准外设库经历众多的更新目前已经更新到最新的版本,开发环境中自带的标准外设库为版本,本书中以比较稳定而且较新的版本为基础介绍标准外设库的结构。
【STM32】STM32串口配置的一般步骤(库函数)

【STM32】STM32串⼝配置的⼀般步骤(库函数)STM32串⼝配置的⼀般步骤(库函数)(1)串⼝时钟使能:RCC_APBxPeriphClockCmd();GPIO时钟使能:RCC_AHBxPeriphClockCmd();(2)引脚复⽤映射:GPIO_PinAFConfig();(3)GPIO端⼝模式配置:GPIO_Init(); 模式配置为GPIO_Mode_AF(4)串⼝参数初始化:USART_Init();(5)开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)NVIC_Init();USART_ITConfig();(6)使能串⼝:USART_Cmd();(7)编写中断处理函数:USARTx_IRQHandler();(8)串⼝数据收发:void USART_SendData();//发送数据到串⼝,DRuint16_t USART_ReceiveData();//接收数据,从DR读取接收的数据(9)串⼝传输状态获取:FlagStatus USART_GetFlagStatus();void USART_ClearITPendingBit();范例代码:#include "stm32f4xx.h"#include "usart.h"/* 中断服务函数 */void USART1_IRQHandler(void){uint16_t recv;if (USART_GetFlagStatus(USART1,USART_IT_RXNE)){recv = USART_ReceiveData(USART1);USART_SendData(USART1,recv);}}void Usart1_Demo_Init(void){GPIO_InitTypeDef GPIOA_InitStruct;USART_InitTypeDef USART1_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); /* 使能USART1时钟 */RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); /* 使能GPIOA的时钟 *//* 将PA9和PA10映射到串⼝1 */GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);/* 设置GPIO端⼝模式 */GPIOA_InitStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;GPIOA_InitStruct.GPIO_Mode = GPIO_Mode_AF;GPIOA_InitStruct.GPIO_OType = GPIO_OType_PP;GPIOA_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;GPIOA_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;GPIO_Init(GPIOA, &GPIOA_InitStruct);/* 串⼝参数初始化 */USART1_ART_BaudRate = 115200;USART1_ART_HardwareFlowControl = USART_HardwareFlowControl_None;USART1_ART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART1_ART_Parity = USART_Parity_No;USART1_ART_StopBits = USART_StopBits_1;USART1_ART_WordLength = USART_WordLength_8b;USART_Init(USART1, &USART1_InitStruct);/* 使能USART1 */USART_Cmd(USART1, ENABLE);/* 使能串⼝使⽤的中断 */NVIC_InitStruct.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;NVIC_Init(&NVIC_InitStruct);USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);}int main(void){/* 设置中断分组 */NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); Usart1_Demo_Init();while (1);}。
stm32库函数使用配置

stm32 固件库V3.0以上的版本,main等源文件中不再直接包含stm32f10x_conf.h,而是stm32f10x.h,stm32f10x.h则定义了启动设置,以及所有寄存器宏定义,此文件中需要注意的有:使用V3.0以上版本固件库的方法如下:1.选择device(配置函数STM32F10x.h,具体配置方法如下)在STM32F10x.h中有如下代码:#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined(STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices *//* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices *//* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices *//* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices *//* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices *//* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices *//* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices *//* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */#endif该代码的是让用户根据自己所使用的芯片的存储器(flash)大小,选择相应的flash编程算法,如果用户使用的是大容量存储芯片(如STM32F103VCT6),则只需要将对应大大容量存储器前面的屏蔽符去掉即可,去掉后为:#define STM32F10X_HD /*!< STM32F10X_HD: STM32 High density devices */其它部分代码不变。