12 STM32标准库函数 之 控制器局域网(CAN)所有函数的介绍及使用

1 ADC库函数预览

函数名描述
ADC_DeInit将外设 ADCx 的全部寄存器重设为缺省值
ADC_Init根据ADC_InitStruct 中指定的参数初始化外设 ADCx 的寄存器
ADC_StructInit把 ADC_InitStruct 中的每一个参数按缺省值填入
ADC_Cmd使能或者失能指定的 ADC
ADC_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_ExternalTrigInjectedConvConfig配置 ADCx 的外部触发启动注入组转换功能
ADC_ExternalTrigInjectedConvCmd使能或者失能 ADCx 的经外部触发启动注入组转换功能
ADC_SoftwareStartinjectedConvCmd使能或者失能 ADCx 软件启动注入组转换功能
ADC_GetsoftwareStartinjectedConvStatus获取指定 ADC 的软件启动注入组转换状态
ADC_InjectedChannleConfig设置指定 ADC 的注入组通道,设置它们的转化顺序和采样时间
ADC_InjectedSequencerLengthConfig设置注入组通道的转换序列长度
ADC_SetinjectedOffset设置注入组通道的转换偏移值
ADC_GetInjectedConversionValue返回 ADC 指定注入通道的转换结果
ADC_AnalogWatchdogCmd使能或者失能指定单个/全体,规则/注入组通道上的模拟看门狗
ADC_AnalogWatchdongThresholdsConfig设置模拟看门狗的高/低阈值
ADC_AnalogWatchdongSingleChannelConfig对单个 ADC 通道设置模拟看门狗
ADC_TampSensorVrefintCmd使能或者失能温度传感器和内部参考电压通道
ADC_GetFlagStatus检查指定 ADC 标志位置 1 与否
ADC_ClearFlag清除 ADCx 的待处理标志位
ADC_GetITStatus检查指定的 ADC 中断是否发生
ADC_ClearITPendingBit清除 ADCx 的中断待处理位

1.1 函数 ADC_DeInit

函数名ADC_DeInit
函数原形void ADC_DeInit(ADC_TypeDef* ADCx)
功能描述将外设 ADCx 的全部寄存器重设为缺省值
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数 2
返回值
先决条件
被调用函数RCC_APB2PeriphClockCmd()

例:
/* Resets ADC2 */ ADC_DeInit(ADC2);

1.2 函数 ADC_Init

函数名ADC_Init
函数原形void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)
功能描述根据 ADC_InitStruct 中指定的参数初始化外设 ADCx 的寄存器
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_InitStruct:指向结构 ADC_InitTypeDef 的指针,包含了指定外设 ADC 的配置信息
参阅4.2.3 ADC_StructInit 获得 ADC_InitStruct 值的完整描述
输出参数
返回值
先决条件
被调用函数

ADC_InitTypeDef structure

typedef struct
{
u32 ADC_Mode;
FunctionalState ADC_ScanConvMode; FunctionalState ADC_ContinuousConvMode; u32 ADC_ExternalTrigConv;
u32 ADC_DataAlign; u8 ADC_NbrOfChannel;
} ADC_InitTypeDef

ADC_Mode
ADC_Mode 设置 ADC 工作在独立或者双 ADC 模式。

ADC_Mode描述
ADC_Mode_IndependentADC1 和 ADC2 工作在独立模式
ADC_Mode_RegInjecSimultADC1 和 ADC2 工作在同步规则和同步注入模式
ADC_Mode_RegSimult_AlterTrigADC1 和 ADC2 工作在同步规则模式和交替触发模式
ADC_Mode_InjecSimult_FastInterlADC1 和 ADC2 工作在同步规则模式和快速交替模式
ADC_Mode_InjecSimult_SlowInterlADC1 和 ADC2 工作在同步注入模式和慢速交替模式
ADC_Mode_InjecSimultADC1 和 ADC2 工作在同步注入模式
ADC_Mode_RegSimultADC1 和 ADC2 工作在同步规则模式
ADC_Mode_FastInterlADC1 和 ADC2 工作在快速交替模式
ADC_Mode_SlowInterlADC1 和 ADC2 工作在慢速交替模式
ADC_Mode_AlterTrigADC1 和 ADC2 工作在交替触发模式

ADC_ScanConvMode
ADC_ScanConvMode 规定了模数转换工作在扫描模式(多通道)还是单次(单通道)模式。可以设置这个参数为 ENABLE 或者 DISABLE。
ADC_ContinuousConvMode
ADC_ContinuousConvMode 规定了模数转换工作在连续还是单次模式。可以设置这个参数为 ENABLE 或者 DISABLE。
ADC_ExternalTrigConv
ADC_ExternalTrigConv 定义了使用外部触发来启动规则通道的模数转换

ADC_ExternalTrigConv描述
ADC_ExternalTrigConv_T1_CC1选择定时器 1 的捕获比较 1 作为转换外部触发
ADC_ExternalTrigConv_T1_CC2选择定时器 1 的捕获比较 2 作为转换外部触发
ADC_ExternalTrigConv_T1_CC3选择定时器 1 的捕获比较 3 作为转换外部触发
ADC_ExternalTrigConv_T2_CC2选择定时器 2 的捕获比较 2 作为转换外部触发
ADC_ExternalTrigConv_T3_TRGO选择定时器 3 的 TRGO 作为转换外部触发
ADC_ExternalTrigConv_T4_CC4选择定时器 4 的捕获比较 4 作为转换外部触发
ADC_ExternalTrigConv_Ext_IT11选择外部中断线 11 事件作为转换外部触发
ADC_ExternalTrigConv_None转换由软件而不是外部触发启动

ADC_DataAlign
ADC_DataAlign 规定了 ADC 数据向左边对齐还是向右边对齐

ADC_DataAlign描述
ADC_DataAlign_RightADC 数据右对齐
ADC_DataAlign_LeftADC 数据左对齐

ADC_NbrOfChannel
ADC_NbreOfChannel 规定了顺序进行规则转换的 ADC 通道的数目。这个数目的取值范围是 1 到 16。

例:
/* Initialize the ADC1 according to the ADC_InitStructure members */ ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode = ENABLE; ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_Ext_IT11; ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel = 16; ADC_Init(ADC1, &ADC_InitStructure);

注意:为了能够正确地配置每一个 ADC 通道,用户在调用 ADC_Init()之后,必须调用 ADC_ChannelConfig()
来配置每个所使用通道的转换次序和采样时间。

1.3 函数 ADC_StructInit

函数名ADC_StructInit
函数原形void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct)
功能描述把 ADC_InitStruct 中的每一个参数按缺省值填入
输入参数ADC_InitStruct:指向结构 ADC_InitTypeDef 的指针,待初始化
输出参数
返回值
先决条件
被调用函数
成员缺省值
ADC_ModeADC_Mode_Independent
ADC_ScanConvModeDISABLE
ADC_ContinuousConvModeDISABLE
ADC_ExternalTrigConvADC_ExternalTrigConv_T1_CC1
ADC_DataAlignADC_DataAlign_Right
ADC_NbrOfChannel1

例:
/* Initialize a ADC_InitTypeDef structure. */ ADC_InitTypeDef ADC_InitStructure; ADC_StructInit(&ADC_InitStructure);

1.4 函数 ADC_Cmd

函数名ADC_Cmd
函数原形void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定的 ADC
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:外设 ADCx 的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enable ADC1 */ ADC_Cmd(ADC1, ENABLE);
注意:函数 ADC_Cmd 只能在其他 ADC 设置函数之后被调用。

1.5 函数 ADC_DMACmd

函数名ADC_DMACmd
函数原形void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定的 ADC 的 DMA 请求
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:ADC DMA 传输的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

ADC_DMACmd
例:
/* Enable ADC2 DMA transfer */
ADC_DMACmd(ADC2, ENABLE);

1.6 函数 ADC_ITConfig

函数名ADC_ITConfig
函数原形void ADC_ITConfig(ADC_TypeDef* ADCx, u16 ADC_IT, FunctionalState NewState)
功能描述使能或者失能指定的 ADC 的中断
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_IT:将要被使能或者失能的指定 ADC 中断源
参阅章节 ADC_IT 获得该参数可取值的更多细节
输入参数 3NewState:指定 ADC 中断的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

ADC_IT
ADC_IT 可以用来使能或者失能 ADC 中断

ADC_IT描述
ADC_IT_EOCEOC 中断屏蔽
ADC_IT_AWDAWDOG 中断屏蔽
ADC_IT_JEOCJEOC 中断屏蔽

例:
/* Enable ADC2 EOC and AWDOG interrupts */ ADC_ITConfig(ADC2, ADC_IT_EOC | ADC_IT_AWD, ENABLE);

1.7 函数 ADC_ResetCalibration

函数名ADC_ResetCalibration
函数原形void ADC_ResetCalibration(ADC_TypeDef* ADCx)
功能描述重置指定的 ADC 的校准寄存器
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值
先决条件
被调用函数

例:
/* Reset the ADC1 Calibration registers */ ADC_ResetCalibration(ADC1);

1.8 函数 ADC_ GetResetCalibrationStatus

函数名ADC_GetResetCalibrationStatus
函数原形FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx)
功能描述获取 ADC 重置校准寄存器的状态
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值ADC 重置校准寄存器的新状态(SET 或者 RESET)
先决条件
被调用函数

例:
/* Get the ADC2 reset calibration registers status */
FlagStatus Status;
Status = ADC_GetResetCalibrationStatus(ADC2);

1.9 函数 ADC_StartCalibration

函数名ADC_StartCalibration
函数原形void ADC_StartCalibration(ADC_TypeDef* ADCx)
功能描述开始指定 ADC 的校准状态
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值
先决条件
被调用函数

例:
/* Start the ADC2 Calibration */ ADC_StartCalibration(ADC2);

1.10 函数 ADC_GetCalibrationStatus

函数名ADC_GetCalibrationStatus
函数原形FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx)
功能描述获取指定 ADC 的校准程序
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值ADC 校准的新状态(SET 或者 RESET)
先决条件
被调用函数

例:
/* Get the ADC2 calibration status */ FlagStatus Status;
Status = ADC_GetCalibrationStatus(ADC2);

1.11 函数 ADC_SoftwareStartConvCmd

函数名ADC_SoftwareStartConvCmd
函数原形void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定的 ADC 的软件转换启动功能
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:指定 ADC 的软件转换启动新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Start by software the ADC1 Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE);

1.12 函数 ADC_GetSoftwareStartConvStatus

函数名ADC_GetSoftwareStartConvStatus
函数原形FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx)
功能描述获取 ADC 软件转换启动状态
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值ADC 软件转换启动的新状态(SET 或者 RESET)
先决条件
被调用函数

例:
/* Get the ADC1 conversion start bit */ FlagStatus Status;
Status = ADC_GetSoftwareStartConvStatus(ADC1);

1.13 函数 ADC_DiscModeChannelCountConfig

函数名ADC_DiscModeChannelCountConfig
函数原形void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, u8 Number)
功能描述对 ADC 规则组通道配置间断模式
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2Number:间断模式规则组通道计数器的值。这个值得范围为 1 到 8
输出参数
返回值
先决条件
被调用函数

例:
/* Set the discontinuous mode channel count to 2 for ADC1 */ ADC_DiscModeChannelCountConfig(ADC1, 2);

1.14 函数 ADC_DiscModeCmd

函数名ADC_DiscModeCmd
函数原形void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定的 ADC 规则组通道的间断模式
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:ADC 规则组通道上间断模式的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Disable the discontinuous mode for ADC1 regular group channel */ ADC_DiscModeCmd(ADC1, ENABLE);

1.15 函数 ADC_RegularChannelConfig

函数名ADC_RegularChannelConfig
函数原形void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel, u8 Rank, u8 ADC_SampleTime)
功能描述设置指定 ADC 的规则组通道,设置它们的转化顺序和采样时间
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_Channel:被设置的 ADC 通道
参阅章节 ADC_Channel 查阅更多该参数允许取值范围
输入参数 3Rank:规则组采样顺序。取值范围 1 到 16
输入参数 4ADC_SampleTime:指定 ADC 通道的采样时间值
参阅章节 ADC_SampleTime 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

ADC_Channel
参数 ADC_Channel 指定了通过调用函数 ADC_RegularChannelConfig 来设置的 ADC 通道。

ADC_Channel描述
ADC_Channel_0选择 ADC 通道 0
ADC_Channel_1选择 ADC 通道 1
ADC_Channel_2选择 ADC 通道 2
ADC_Channel_3选择 ADC 通道 3
ADC_Channel_4选择 ADC 通道 4
ADC_Channel_5选择 ADC 通道 5
ADC_Channel_0选择 ADC 通道 0
ADC_Channel_1选择 ADC 通道 1
ADC_Channel_2选择 ADC 通道 2
ADC_Channel_3选择 ADC 通道 3
ADC_Channel_4选择 ADC 通道 4
ADC_Channel_5选择 ADC 通道 5
ADC_Channel_6选择 ADC 通道 6
ADC_Channel_7选择 ADC 通道 7
ADC_Channel_8选择 ADC 通道 8
ADC_Channel_9选择 ADC 通道 9
ADC_Channel_10选择 ADC 通道 10
ADC_Channel_11选择 ADC 通道 11
ADC_Channel_12选择 ADC 通道 12
ADC_Channel_13选择 ADC 通道 13
ADC_Channel_14选择 ADC 通道 14
ADC_Channel_15选择 ADC 通道 15
ADC_Channel_16选择 ADC 通道 16
ADC_Channel_17选择 ADC 通道 17

ADC_SampleTime
ADC_SampleTime 设定了选中通道的 ADC 采样时间。

ADC_SampleTime描述
ADC_SampleTime_1Cycles5采样时间为 1.5 周期
ADC_SampleTime_7Cycles5采样时间为 7.5 周期
ADC_SampleTime_13Cycles5采样时间为 13.5 周期
ADC_SampleTime_28Cycles5采样时间为 28.5 周期
ADC_SampleTime_41Cycles5采样时间为 41.5 周期
ADC_SampleTime_55Cycles5采样时间为 55.5 周期
ADC_SampleTime_71Cycles5采样时间为 71.5 周期
ADC_SampleTime_239Cycles5采样时间为 239.5 周期

例:
/* Configures ADC1 Channel2 as: first converted channel with an 7.5 cycles sample time /
ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 1, ADC_SampleTime_7Cycles5);
/
Configures ADC1 Channel8 as: second converted channel with an 1.5 cycles sample time */
ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 2, ADC_SampleTime_1Cycles5);

1.16 ADC_ExternalTrigConvConfig

函数名ADC_ExternalTrigConvConfig
函数原形void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能 ADCx 的经外部触发启动转换功能
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:指定 ADC 外部触发转换启动的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/*Enable the start of conversion for ADC1 through exteral trigger */ ADC_ExternalTrigConvCmd(ADC1, ENABLE);

1.17 函数 ADC_GetConversionValue

函数名ADC_GetConversionValue
函数原形u16 ADC_GetConversionValue(ADC_TypeDef* ADCx)
功能描述返回最近一次 ADCx 规则组的转换结果
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值转换结果
先决条件
被调用函数

例:
/Returns the ADC1 Master data value of the last converted channel/ u16 DataValue;
DataValue = ADC_GetConversionValue(ADC1);

1.18 函数 ADC_GetDuelModeConversionValue

函数名ADC_GetDuelModeConversionValue
函数原形u32 ADC_GetDualModeConversionValue()
功能描述返回最近一次双 ADC 模式下的转换结果
输入参数
输出参数
返回值转换结果
先决条件
被调用函数

例:
/* Returns the ADC1 and ADC2 last converted values*/ u32 DataValue;
DataValue = ADC_GetDualModeConversionValue();

1.19 函数 ADC_AutoInjectedConvCmd

函数名ADC_AutoInjectedConvCmd
函数原形void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定 ADC 在规则组转化后自动开始注入组转换
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:指定 ADC 自动注入转化的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enable the auto injected conversion for ADC2 */ ADC_AutoInjectedConvCmd(ADC2, ENABLE);

1.20 函数 ADC_InjectedDiscModeCmd

函数名ADC_InjectedDiscModeCmd
函数原形void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能指定 ADC 的注入组间断模式
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:ADC 注入组通道上间断模式的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enable the injected discontinuous mode for ADC2 */
ADC_InjectedDiscModeCmd(ADC2, ENABLE);

1.21 函数 ADC_ExternalTrigInjectedConvConfig

函数名ADC_ExternalTrigInjectedConvConfig
函数原形void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, u32 ADC_ExternalTrigConv)
功能描述配置 ADCx 的外部触发启动注入组转换功能
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_ExternalTrigConv:启动注入转换的 ADC 触发
参阅章节 ADC_ExternalTrigInjectedConv 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

ADC_ExternalTrigInjectedConv
ADC_ExternalTrigInjectedConv 指 定了所使用的注入转换启动触发

ADC_ExternalTrigInjectedConv描述
ADC_ExternalTrigInjecConv_T1_TRGO选择定时器 1 的 TRGO 作为注入转换外部触发
ADC_ExternalTrigInjecConv_T1_CC4选择定时器 1 的捕获比较 4 作为注入转换外部触发
ADC_ExternalTrigInjecConv_T2_TRGO选择定时器 2 的 TRGO 作为注入转换外部触发
ADC_ExternalTrigInjecConv_T2_CC1选择定时器 2 的捕获比较 1 作为注入转换外部触发
ADC_ExternalTrigInjecConv_T3_CC4选择定时器 3 的捕获比较 4 作为注入转换外部触发
ADC_ExternalTrigInjecConv_T4_TRGO选择定时器 4 的 TRGO 作为注入转换外部触发
ADC_ExternalTrigInjecConv_Ext_IT15选择外部中断线 15 事件作为注入转换外部触发
ADC_ExternalTrigInjecConv_None注入转换由软件而不是外部触发启动

例:
/* Set ADC1 injected external trigger conversion start to Timer1 capture compare4 */
ADC_ExternalTrigInjectedConvConfig(ADC1, ADC_ExternalTrigConv_T1_CC4);

1.22 函数 ADC_ExternalTrigInjectedConvCmd

函数名ADC_ExternalTrigInjectedConvCmd
函数原形void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能 ADCx 的经外部触发启动注入组转换功能
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:指定 ADC 外部触发启动注入转换的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enable the start of injected conversion for ADC1 through exteral trigger */
ADC_ExternalTrigInjectedConvCmd(ADC1, ENABLE);

1.23 函数 ADC_SoftwareStartinjectedConvCmd

函数名ADC_SoftwareStartInjectedConvCmd
函数原形void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功能描述使能或者失能 ADCx 软件启动注入组转换功能
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2NewState:指定 ADC 软件触发启动注入转换的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Start by software the ADC2 Conversion */ ADC_SoftwareStartInjectedConvCmd(ADC2, ENABLE);

1.24 函数 ADC_GetsoftwareStartinjectedConvStatus

函数名ADC_GetsoftwareStartinjectedConvStatus
函数原形FlagStatus ADC_GetSoftwareStartInjectedConvStatus(ADC_TypeDef* ADCx)
功能描述获取指定 ADC 的软件启动注入组转换状态
输入参数ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输出参数
返回值ADC 软件触发启动注入转换的新状态
先决条件
被调用函数

例:
/* Get the ADC1 injected conversion start bit */ FlagStatus Status;
Status = ADC_GetSoftwareStartInjectedConvStatus(ADC1);

1.25 函数 ADC_InjectedChannleConfig

函数名ADC_InjectedChannelConfig
函数原形void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel, u8 Rank, u8 ADC_SampleTime)
功能描述设置指定 ADC 的注入组通道,设置它们的转化顺序和采样时间
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_Channel:被设置的 ADC 通道
参阅章节 ADC_Channel查阅更多该参数允许取值范围
输入参数 3Rank:规则组采样顺序。取值范围 1 到 4。
输入参数 4ADC_SampleTime:指定 ADC 通道的采样时间值
参阅章节 ADC_SampleTime查阅更多该参数允许取值范围
输出参数
返回值
先决条件之前必须调用函数 ADC_InjectedSequencerLengthConfig 来确定注入转换通道的数目。特别是在通道数目小于 4 的情况下,来正确配置每个注入通道的转化顺序。
被调用函数

例:
/* Configures ADC1 Channel12 as: second converted channel with an
28.5 cycles sample time / ADC_InjectedChannelConfig(ADC1, ADC_Channel_12, 2, ADC_SampleTime_28Cycles5);
/
Configures ADC2 Channel4 as: eleven converted channel with an
71.5 cycles sample time */
ADC_InjectedChannelConfig(ADC2, ADC_Channel_4, 11,ADC_SampleTime_71Cycles5);

1.26 函数 ADC_InjectedSequencerLengthConfig

函数名ADC_InjectedSequencerLengthConfig
函数原形void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, u8 Length)
功能描述设置注入组通道的转换序列长度
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2Length:序列长度
这个参数取值范围 1 到 4。
输出参数
返回值
先决条件
被调用函数

例:
/* Set the ADC1 Sequencer length to 4 channels */

ADC_InjectedSequencerLengthConfig(ADC1, 4);

1.27 函数 ADC_SetinjectedOffset

函数名ADC_SetInjectedOffset
函数原形void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, u8 ADC_InjectedChannel, u16 Offset)
功能描述设置注入组通道的转换偏移值
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_InjectedChannel:被设置转换偏移值的 ADC 注入通道
参阅章节 ADC_InjectedChannel查阅更多该参数允许取值范围
输入参数 3Offset:ADC 注入通道的转换偏移值
这个值是一个 12 位值。
输出参数
返回值
先决条件
被调用函数

ADC_InjectedChannel
参数ADC_InjectedChannel 指定了必须设置转换偏移值的ADC 通道。

ADC_InjectedChannel描述
ADC_InjectedChannel_1选择注入通道 1
ADC_InjectedChannel_2选择注入通道 2
ADC_InjectedChannel_3选择注入通道 3
ADC_InjectedChannel_4选择注入通道 4

例:
/* Set the offset 0x100 for the 3rd injected Channel of ADC1 */
ADC_SetInjectedOffset(ADC1, ADC_InjectedChannel_3, 0x100);

1.28 函数 ADC_GetInjectedConversionValue

函数名ADC_GetInjectedConversionValue
函数原形u16 ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, u8 ADC_InjectedChannel)
功能描述返回 ADC 指定注入通道的转换结果
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_InjectedChannel:被转换的 ADC 注入通道
参阅章节 ADC_InjectedChannel查阅更多该参数允许取值范围
输出参数
返回值转换结果
先决条件
被调用函数

例:
/* Return the ADC1 injected channel1 converted data value */ u16 InjectedDataValue;
InjectedDataValue = ADC_GetInjectedConversionValue(ADC1, ADC_InjectedChannel_1);

1.29 函数 ADC_AnalogWatchdogCmd

函数名ADC_AnalogWatchdogCmd
函数原形void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, u32 ADC_AnalogWatchdog)
功能描述使能或者失能指定单个/全体,规则/注入组通道上的模拟看门狗
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_AnalogWatchdog:ADC 模拟看门狗设置
参阅章节 ADC_AnalogWatchdog查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

ADC_AnalogWatchdog
ADC_AnalogWatchdog 规定了 ADC 模拟看门狗的设置

ADC_AnalogWatchdog描述
ADC_AnalogWatchdog_SingleRegEnable单个规则通道上设置模拟看门狗
ADC_AnalogWatchdog_SingleInjecEnable单个注入通道上设置模拟看门狗
ADC_AnalogWatchdog_SingleRegorInjecEnable单个规则通道或者注入通道上设置模拟看门狗
ADC_AnalogWatchdog_AllRegEnable所有规则通道上设置模拟看门狗
ADC_AnalogWatchdog_AllInjecEnable所有注入通道上设置模拟看门狗
ADC_AnalogWatchdog_AllRegAllInjecEnable所有规则通道和所有注入通道上设置模拟看门狗
ADC_AnalogWatchdog_None不设置模拟看门狗

例:
/* Configue the Analog watchdog on all regular and injected channelsof ADC2 */ ADC_AnalogWatchdogCmd(ADC2,
ADC_AnalogWatchdog_AllRegAllInjecEnable);

1.30 函数 ADC_AnalogWatchdongThresholdsConfig

函数名ADC_AnalogWatchdogThresholdsConfig
函数原形void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, u16 HighThreshold, u16 LowThreshold)
功能描述设置模拟看门狗的高/低阈值
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2HighThreshold:模拟看门狗的高阈值
这个参数是一个 12 位值。
输入参数 3LowThreshold:模拟看门狗的低阈值
这个参数是一个 12 位值。
输出参数
返回值
先决条件
被调用函数

例:
/* Configue the Analog watchdog High and Low thresholds for ADC1 */ ADC_AnalogWatchdogThresholdsConfig(ADC1, 0x400, 0x100);

1.31 函数 ADC_AnalogWatchdongSingleChannelConfig

函数名ADC_AnalogWatchdogSingleChannelConfig
函数原形void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel)
功能描述对单个 ADC 通道设置模拟看门狗
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_Channel:被设置模拟看门狗的 ADC 通道
参阅章节 ADC_Channel查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

例:
/* Configue the Analog watchdog on Channel1 of ADC1 */ ADC_AnalogWatchdogSingleChannelConfig(ADC1, ADC_Channel_1);

1.32 函数 ADC_TampSensorVrefintCmd

函数名ADC_TempSensorVrefintCmd
函数原形void ADC_TempSensorVrefintCmd(FunctionalState NewState)
功能描述使能或者失能温度传感器和内部参考电压通道
输入参数NewState:温度传感器和内部参考电压通道的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enable the temperature sensor and vref internal channel */ ADC_TempSensorVrefintCmd(ENABLE);

1.33 函数 ADC_GetFlagStatus

函数名ADC_GetFlagStatus
函数原形FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, u8 ADC_FLAG)
功能描述检查指定 ADC 标志位置 1 与否
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_FLAG:指定需检查的标志位
参阅章节 ADC_FLAG查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

ADC_FLAG 的值

ADC_AnalogWatchdog描述
ADC_FLAG_AWD模拟看门狗标志位
ADC_FLAG_EOC转换结束标志位
ADC_FLAG_JEOC注入组转换结束标志位
ADC_FLAG_JSTRT注入组转换开始标志位
ADC_FLAG_STRT规则组转换开始标志位

例:
/* Test if the ADC1 EOC flag is set or not */ FlagStatus Status;
Status = ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC);

1.34 函数 ADC_ClearFlag

函数名ADC_ClearFlag
函数原形void ADC_ClearFlag(ADC_TypeDef* ADCx, u8 ADC_FLAG)
功能描述清除 ADCx 的待处理标志位
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_FLAG:待处理的标志位,使用操作符“
参阅章节 ADC_FLAG查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

例:
/* Clear the ADC2 STRT pending flag */ ADC_ClearFlag(ADC2, ADC_FLAG_STRT);

1.35 函数 ADC_GetITStatus

函数名ADC_GetITStatus
函数原形ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, u16 ADC_IT)
功能描述检查指定的 ADC 中断是否发生
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_IT:将要被检查指定 ADC 中断源
参阅章节 ADC_IT获得该参数可取值的更多细节
输出参数
返回值
先决条件
被调用函数

例:
/* Test if the ADC1 AWD interrupt has occurred or not */ ITStatus Status;
Status = ADC_GetITStatus(ADC1, ADC_IT_AWD);

1.36 函数 ADC_ClearITPendingBit

函数名ADC_ClearITPendingBit
函数原形void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, u16 ADC_IT)
功能描述清除 ADCx 的中断待处理位
输入参数 1ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2
输入参数 2ADC_IT:带清除的 ADC 中断待处理位
参阅章节 ADC_IT获得该参数可取值的更多细节
输出参数
返回值
先决条件
被调用函数

例:
/* Clear the ADC2 JEOC interrupt pending bit */ ADC_ClearITPendingBit(ADC2, ADC_IT_JEOC);

该文档修改记录:

修改时间修改说明
2024年1月20日第一次发布,介绍了12 STM32标准库函数 之 控制器局域网(CAN)所有函数的介绍及使用

总结

以上就是12 STM32标准库函数 之 控制器局域网(CAN)所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常驻客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值