STM32库函数功能详解(6)

2018-12-04 21:48

vu32 LTR; vu32 SQR1; vu32 SQR2; vu32 SQR3; vu32 JSQR; vu32 JDR1; vu32 JDR2; vu32 JDR3; vu32 JDR4; vu32 DR; }

ADC_TypeDef;

ADC库函数

1、ADC_DeInit();

功能描述:将外设ADCx的全部寄存器重设为缺省值

例:

ADC_DeInit(ADC2);

2、ADC_Init();

功能描述:根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器

例: {

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_InitStruct:指向结构ADC_InitTypeDef的指针,包含了指定外设ADC的配置信息

ADC_InitTypeDef: 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_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工作在同步注入模式

26

ADC_Mode_RegSimult:ADC1和ADC2工作在同步规则模式 ADC_Mode_FastInterl:ADC1和ADC2工作在快速交替模式 ADC_Mode_SlowInterl:ADC1和ADC2工作在慢速交替模式 ADC_Mode_AlterTrig:ADC1和ADC2工作在交替触发模式

例:

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;

ADC_ScanConvMode:

ADC_ScanConvMode规定了模数转换工作在扫描模式(多通道)还是单次(单通道)模式。可以设置这个参数为ENABLE或者DISABLE。

例:

ADC_InitStructure.ADC_ScanConvMode = ENABLE;

ADC_ContinuousConvMode:

ADC_ContinuousConvMode规定了模数转换工作在连续还是单次模式。可以设置这个参数为ENABLE或者DISABLE。

例:

ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;

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_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_Ext_IT11;

ADC_DataAlign:

ADC_DataAlign_Right:ADC数据右对齐 ADC_DataAlign_Left:ADC数据左对齐

例:

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;

ADC_NbrOfChannel:

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

例:

ADC_InitStructure.ADC_NbrOfChannel = 16;

3 函数ADC_StructInit();

功能描述:把ADC_InitStruct中的每一个参数按缺省值填入,如下: 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 例:

ADC_InitTypeDef ADC_InitStructure;

ADC_StructInit(&ADC_InitStructure);

27

4 函数ADC_Cmd();

功能描述:使能或者失能指定的ADC 例:

ADC_Cmd(ADC1, ENABLE);

5 函数ADC_DMACmd();

功能描述:使能或者失能指定的ADC的DMA请求 例:

ADC_DMACmd(ADC2, ENABLE);

6 函数ADC_ITConfig();

功能描述:使能或者失能指定的ADC的中断 例:

ADC_ITConfig(ADC2, ADC_IT_EOC | ADC_IT_AWD, ENABLE);

ADC_IT:

ADC_IT可以用来使能或者失能ADC中断。可以使用下表中的一个参数,或者他们的组合。ADC_IT_EOC EOC:中断屏蔽 ADC_IT_AWD AWDOG:中断屏蔽 ADC_IT_JEOC JEOC:中断屏蔽

7 函数ADC_ResetCalibration();

功能描述:重置指定的ADC的校准寄存器 例:

ADC_ResetCalibration(ADC1);

8 函数ADC_GetResetCalibrationStatus();

功能描述:获取ADC重置校准寄存器的状态 例:

FlagStatus Status;

Status = ADC_GetResetCalibrationStatus(ADC2);

9 函数ADC_StartCalibration();

功能描述:开始指定ADC的校准状态 例:

ADC_StartCalibration(ADC2);

10 函数ADC_GetCalibrationStatus();

功能描述:获取指定ADC的校准程序 例:

FlagStatus Status;

Status = ADC_GetCalibrationStatus(ADC2);

28

11 函数ADC_SoftwareStartConvCmd();

功能描述:使能或者失能指定的ADC的软件转换启动功能 例:

ADC_SoftwareStartConvCmd(ADC1, ENABLE);

12 函数ADC_GetSoftwareStartConvStatus();

功能描述:获取ADC软件转换启动状态 例:

FlagStatus Status; Status = ADC_GetSoftwareStartConvStatus(ADC1);

13 函数ADC_DiscModeChannelCountConfig();

功能描述:对ADC规则组通道配置间断模式 例:

ADC_DiscModeChannelCountConfig(ADC1, 2);

14 函数ADC_DiscModeCmd();

功能描述:使能或者失能指定的ADC规则组通道的间断模式 例:

ADC_DiscModeCmd(ADC1, ENABLE);

15 函数ADC_RegularChannelConfig();

功能描述:设置指定ADC的规则组通道,设置它们的转化顺序和采样时间 例:

ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 1, ADC_SampleTime_7Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 2, ADC_SampleTime_1Cycles5);

ADC_Channel 参数ADC_Channel指定了通过调用函数ADC_RegularChannelConfig来设置的ADC通道。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

29

ADC_SampleTime

ADC_SampleTime设定了选中通道的ADC采样时间。 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周期

16 函数ADC_ExternalTrigConvConfig();

功能描述:使能或者失能ADCx的经外部触发启动转换功能 例:

ADC_ExternalTrigConvCmd(ADC1, ENABLE);

17 函数ADC_GetConversionValue();

功能描述:返回最近一次ADCx规则组的转换结果 例:

u16 DataValue;

DataValue = ADC_GetConversionValue(ADC1);

18 函数ADC_GetDuelModeConversionValue();

功能描述:返回最近一次双ADC模式下的转换结果 例:

u32 DataValue;

DataValue = ADC_GetDualModeConversionValue();

19 函数ADC_AutoInjectedConvCmd();

功能描述:使能或者失能指定ADC在规则组转化后自动开始注入组转换 例:

ADC_AutoInjectedConvCmd(ADC2, ENABLE);

20 函数ADC_InjectedDiscModeCmd();

功能描述:使能或者失能指定ADC的注入组间断模式 例:

ADC_InjectedDiscModeCmd(ADC2, ENABLE);

21 函数ADC_ExternalTrigInjectedConvConfig();

功能描述:配置ADCx的外部触发启动注入组转换功能 例:

ADC_ExternalTrigInjectedConvConfig(ADC1, ADC_ExternalTrigConv_T1_CC4);

ADC_ExternalTrigInjectedConv

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

ADC_ExternalTrigInjecConv_T1_TRGO:选择定时器1的TRGO作为注入转换外部触发

30


STM32库函数功能详解(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:哲学与人生 作业与答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: