函数名 | 描述 |
---|---|
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 的中断待处理位 |
函数名 | ADC_DeInit |
---|---|
函数原形 | void ADC_DeInit(ADC_TypeDef* ADCx) |
功能描述 | 将外设 ADCx 的全部寄存器重设为缺省值 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输出参数 2 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | RCC_APB2PeriphClockCmd() |
例:
/* Resets ADC2 */ ADC_DeInit(ADC2);
函数名 | ADC_Init |
---|---|
函数原形 | void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct) |
功能描述 | 根据 ADC_InitStruct 中指定的参数初始化外设 ADCx 的寄存器 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_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_Independent | ADC1 和 ADC2 工作在独立模式 |
ADC_Mode_RegInjecSimult | ADC1 和 ADC2 工作在同步规则和同步注入模式 |
ADC_Mode_RegSimult_AlterTrig | ADC1 和 ADC2 工作在同步规则模式和交替触发模式 |
ADC_Mode_InjecSimult_FastInterl | ADC1 和 ADC2 工作在同步规则模式和快速交替模式 |
ADC_Mode_InjecSimult_SlowInterl | ADC1 和 ADC2 工作在同步注入模式和慢速交替模式 |
ADC_Mode_InjecSimult | ADC1 和 ADC2 工作在同步注入模式 |
ADC_Mode_RegSimult | ADC1 和 ADC2 工作在同步规则模式 |
ADC_Mode_FastInterl | ADC1 和 ADC2 工作在快速交替模式 |
ADC_Mode_SlowInterl | ADC1 和 ADC2 工作在慢速交替模式 |
ADC_Mode_AlterTrig | ADC1 和 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_Right | ADC 数据右对齐 |
ADC_DataAlign_Left | ADC 数据左对齐 |
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()
来配置每个所使用通道的转换次序和采样时间。
函数名 | ADC_StructInit |
---|---|
函数原形 | void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct) |
功能描述 | 把 ADC_InitStruct 中的每一个参数按缺省值填入 |
输入参数 | ADC_InitStruct:指向结构 ADC_InitTypeDef 的指针,待初始化 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
成员 | 缺省值 |
---|---|
ADC_Mode | ADC_Mode_Independent |
ADC_ScanConvMode | DISABLE |
ADC_ContinuousConvMode | DISABLE |
ADC_ExternalTrigConv | ADC_ExternalTrigConv_T1_CC1 |
ADC_DataAlign | ADC_DataAlign_Right |
ADC_NbrOfChannel | 1 |
例:
/* Initialize a ADC_InitTypeDef structure. */ ADC_InitTypeDef ADC_InitStructure; ADC_StructInit(&ADC_InitStructure);
函数名 | ADC_Cmd |
---|---|
函数原形 | void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定的 ADC |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:外设 ADCx 的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enable ADC1 */ ADC_Cmd(ADC1, ENABLE);
注意:函数 ADC_Cmd 只能在其他 ADC 设置函数之后被调用。
函数名 | ADC_DMACmd |
---|---|
函数原形 | void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定的 ADC 的 DMA 请求 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:ADC DMA 传输的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
ADC_DMACmd
例:
/* Enable ADC2 DMA transfer */
ADC_DMACmd(ADC2, ENABLE);
函数名 | ADC_ITConfig |
---|---|
函数原形 | void ADC_ITConfig(ADC_TypeDef* ADCx, u16 ADC_IT, FunctionalState NewState) |
功能描述 | 使能或者失能指定的 ADC 的中断 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_IT:将要被使能或者失能的指定 ADC 中断源 |
参阅章节 ADC_IT 获得该参数可取值的更多细节 | |
输入参数 3 | NewState:指定 ADC 中断的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
ADC_IT
ADC_IT 可以用来使能或者失能 ADC 中断
ADC_IT | 描述 |
---|---|
ADC_IT_EOC | EOC 中断屏蔽 |
ADC_IT_AWD | AWDOG 中断屏蔽 |
ADC_IT_JEOC | JEOC 中断屏蔽 |
例:
/* Enable ADC2 EOC and AWDOG interrupts */ ADC_ITConfig(ADC2, ADC_IT_EOC | ADC_IT_AWD, ENABLE);
函数名 | ADC_ResetCalibration |
---|---|
函数原形 | void ADC_ResetCalibration(ADC_TypeDef* ADCx) |
功能描述 | 重置指定的 ADC 的校准寄存器 |
输入参数 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Reset the ADC1 Calibration registers */ ADC_ResetCalibration(ADC1);
函数名 | 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);
函数名 | ADC_StartCalibration |
---|---|
函数原形 | void ADC_StartCalibration(ADC_TypeDef* ADCx) |
功能描述 | 开始指定 ADC 的校准状态 |
输入参数 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Start the ADC2 Calibration */ ADC_StartCalibration(ADC2);
函数名 | 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);
函数名 | ADC_SoftwareStartConvCmd |
---|---|
函数原形 | void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定的 ADC 的软件转换启动功能 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:指定 ADC 的软件转换启动新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Start by software the ADC1 Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE);
函数名 | 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);
函数名 | ADC_DiscModeChannelCountConfig |
---|---|
函数原形 | void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, u8 Number) |
功能描述 | 对 ADC 规则组通道配置间断模式 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | Number:间断模式规则组通道计数器的值。这个值得范围为 1 到 8 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Set the discontinuous mode channel count to 2 for ADC1 */ ADC_DiscModeChannelCountConfig(ADC1, 2);
函数名 | ADC_DiscModeCmd |
---|---|
函数原形 | void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定的 ADC 规则组通道的间断模式 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:ADC 规则组通道上间断模式的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Disable the discontinuous mode for ADC1 regular group channel */ ADC_DiscModeCmd(ADC1, ENABLE);
函数名 | ADC_RegularChannelConfig |
---|---|
函数原形 | void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel, u8 Rank, u8 ADC_SampleTime) |
功能描述 | 设置指定 ADC 的规则组通道,设置它们的转化顺序和采样时间 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_Channel:被设置的 ADC 通道 |
参阅章节 ADC_Channel 查阅更多该参数允许取值范围 | |
输入参数 3 | Rank:规则组采样顺序。取值范围 1 到 16 |
输入参数 4 | ADC_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);
函数名 | ADC_ExternalTrigConvConfig |
---|---|
函数原形 | void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能 ADCx 的经外部触发启动转换功能 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:指定 ADC 外部触发转换启动的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/*Enable the start of conversion for ADC1 through exteral trigger */ ADC_ExternalTrigConvCmd(ADC1, ENABLE);
函数名 | 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);
函数名 | ADC_GetDuelModeConversionValue |
---|---|
函数原形 | u32 ADC_GetDualModeConversionValue() |
功能描述 | 返回最近一次双 ADC 模式下的转换结果 |
输入参数 | 无 |
输出参数 | 无 |
返回值 | 转换结果 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Returns the ADC1 and ADC2 last converted values*/ u32 DataValue;
DataValue = ADC_GetDualModeConversionValue();
函数名 | ADC_AutoInjectedConvCmd |
---|---|
函数原形 | void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定 ADC 在规则组转化后自动开始注入组转换 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:指定 ADC 自动注入转化的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enable the auto injected conversion for ADC2 */ ADC_AutoInjectedConvCmd(ADC2, ENABLE);
函数名 | ADC_InjectedDiscModeCmd |
---|---|
函数原形 | void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能指定 ADC 的注入组间断模式 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:ADC 注入组通道上间断模式的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enable the injected discontinuous mode for ADC2 */
ADC_InjectedDiscModeCmd(ADC2, ENABLE);
函数名 | ADC_ExternalTrigInjectedConvConfig |
---|---|
函数原形 | void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, u32 ADC_ExternalTrigConv) |
功能描述 | 配置 ADCx 的外部触发启动注入组转换功能 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_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);
函数名 | ADC_ExternalTrigInjectedConvCmd |
---|---|
函数原形 | void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能 ADCx 的经外部触发启动注入组转换功能 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:指定 ADC 外部触发启动注入转换的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enable the start of injected conversion for ADC1 through exteral trigger */
ADC_ExternalTrigInjectedConvCmd(ADC1, ENABLE);
函数名 | ADC_SoftwareStartInjectedConvCmd |
---|---|
函数原形 | void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) |
功能描述 | 使能或者失能 ADCx 软件启动注入组转换功能 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | NewState:指定 ADC 软件触发启动注入转换的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Start by software the ADC2 Conversion */ ADC_SoftwareStartInjectedConvCmd(ADC2, ENABLE);
函数名 | 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);
函数名 | ADC_InjectedChannelConfig |
---|---|
函数原形 | void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel, u8 Rank, u8 ADC_SampleTime) |
功能描述 | 设置指定 ADC 的注入组通道,设置它们的转化顺序和采样时间 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_Channel:被设置的 ADC 通道 |
参阅章节 ADC_Channel | 查阅更多该参数允许取值范围 |
输入参数 3 | Rank:规则组采样顺序。取值范围 1 到 4。 |
输入参数 4 | ADC_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);
函数名 | ADC_InjectedSequencerLengthConfig |
---|---|
函数原形 | void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, u8 Length) |
功能描述 | 设置注入组通道的转换序列长度 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | Length:序列长度 |
这个参数取值范围 1 到 4。 | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Set the ADC1 Sequencer length to 4 channels */
ADC_InjectedSequencerLengthConfig(ADC1, 4);
函数名 | ADC_SetInjectedOffset |
---|---|
函数原形 | void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, u8 ADC_InjectedChannel, u16 Offset) |
功能描述 | 设置注入组通道的转换偏移值 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_InjectedChannel:被设置转换偏移值的 ADC 注入通道 |
参阅章节 ADC_InjectedChannel | 查阅更多该参数允许取值范围 |
输入参数 3 | Offset: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);
函数名 | ADC_GetInjectedConversionValue |
---|---|
函数原形 | u16 ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, u8 ADC_InjectedChannel) |
功能描述 | 返回 ADC 指定注入通道的转换结果 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_InjectedChannel:被转换的 ADC 注入通道 |
参阅章节 ADC_InjectedChannel | 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 转换结果 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Return the ADC1 injected channel1 converted data value */ u16 InjectedDataValue;
InjectedDataValue = ADC_GetInjectedConversionValue(ADC1, ADC_InjectedChannel_1);
函数名 | ADC_AnalogWatchdogCmd |
---|---|
函数原形 | void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, u32 ADC_AnalogWatchdog) |
功能描述 | 使能或者失能指定单个/全体,规则/注入组通道上的模拟看门狗 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_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);
函数名 | ADC_AnalogWatchdogThresholdsConfig |
---|---|
函数原形 | void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, u16 HighThreshold, u16 LowThreshold) |
功能描述 | 设置模拟看门狗的高/低阈值 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | HighThreshold:模拟看门狗的高阈值 |
这个参数是一个 12 位值。 | |
输入参数 3 | LowThreshold:模拟看门狗的低阈值 |
这个参数是一个 12 位值。 | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Configue the Analog watchdog High and Low thresholds for ADC1 */ ADC_AnalogWatchdogThresholdsConfig(ADC1, 0x400, 0x100);
函数名 | ADC_AnalogWatchdogSingleChannelConfig |
---|---|
函数原形 | void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, u8 ADC_Channel) |
功能描述 | 对单个 ADC 通道设置模拟看门狗 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_Channel:被设置模拟看门狗的 ADC 通道 |
参阅章节 ADC_Channel | 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Configue the Analog watchdog on Channel1 of ADC1 */ ADC_AnalogWatchdogSingleChannelConfig(ADC1, ADC_Channel_1);
函数名 | ADC_TempSensorVrefintCmd |
---|---|
函数原形 | void ADC_TempSensorVrefintCmd(FunctionalState NewState) |
功能描述 | 使能或者失能温度传感器和内部参考电压通道 |
输入参数 | NewState:温度传感器和内部参考电压通道的新状态 |
这个参数可以取:ENABLE 或者 DISABLE | |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enable the temperature sensor and vref internal channel */ ADC_TempSensorVrefintCmd(ENABLE);
函数名 | ADC_GetFlagStatus |
---|---|
函数原形 | FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, u8 ADC_FLAG) |
功能描述 | 检查指定 ADC 标志位置 1 与否 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_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);
函数名 | ADC_ClearFlag |
---|---|
函数原形 | void ADC_ClearFlag(ADC_TypeDef* ADCx, u8 ADC_FLAG) |
功能描述 | 清除 ADCx 的待处理标志位 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_FLAG:待处理的标志位,使用操作符“ |
参阅章节 ADC_FLAG | 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Clear the ADC2 STRT pending flag */ ADC_ClearFlag(ADC2, ADC_FLAG_STRT);
函数名 | ADC_GetITStatus |
---|---|
函数原形 | ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, u16 ADC_IT) |
功能描述 | 检查指定的 ADC 中断是否发生 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_IT:将要被检查指定 ADC 中断源 |
参阅章节 ADC_IT | 获得该参数可取值的更多细节 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Test if the ADC1 AWD interrupt has occurred or not */ ITStatus Status;
Status = ADC_GetITStatus(ADC1, ADC_IT_AWD);
函数名 | ADC_ClearITPendingBit |
---|---|
函数原形 | void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, u16 ADC_IT) |
功能描述 | 清除 ADCx 的中断待处理位 |
输入参数 1 | ADCx:x 可以是 1 或者 2 来选择 ADC 外设 ADC1 或 ADC2 |
输入参数 2 | ADC_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)所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。