收藏 分享(赏)

stm32 ADC配置.pdf

上传人:精品资料 文档编号:9204315 上传时间:2019-07-29 格式:PDF 页数:2 大小:64.60KB
下载 相关 举报
stm32 ADC配置.pdf_第1页
第1页 / 共2页
stm32 ADC配置.pdf_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、对于 STM32,在使用 ADC的时候需要配置几个参数。(1)第一个参数是 ADC_Mode,这里设置为独立模式:ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;在这个模式下 , 双 ADC不能同步 , 每个 ADC接口独立工作 。 所以如果不需要 ADC同步或者只是用了一个 ADC的时候,就应该设成独立模式了。(2)第二个参数是 ADC_ScanConvMode,这里设置为 DISABLE。ADC_InitStructure.ADC_ScanConvMode=DISABLE;如果只是用了一个通道的话, DISABLE就可以了,如果使用了多个通道

2、的话 , 则必须将其设置为 ENABLE。(3)第三个参数是 ADC_ContinuousConvMode,这里设置为 ENABLE,即连续转换 。如果设置为 DISABLE, 则是单次转换 。 两者的区别在于连续转换直到所有的数据转换完成后才停止转换 , 而单次转换则只转换一次数据就停止 , 要再次触发转换才可以。所以如果需要一次性采集 1024个数据或者更多,则采用连续转换。(4)第四个参数是 ADC_ExternalTrigConv, 即选择外部触发模式 。 这里只讲三种 :1、 第 一 种是 最 简单 的 软 件 触发 , 参 数为 ADC_ExternalTrigConv_None。

3、 设 置好后还要记得调用库函数: ADC_SoftwareStartConvCmd(ADC1,ENABLE);这样触发才会启动。2、 第二种是 定时器通道输出触发 。 共有这几种 : ADC_ExternalTrigConv_T1_CC1、ADC_ExternalTrigConv_T1_CC2、 ADC_ExternalTrigConv_T2_CC2、ADC_ExternalTrigConv_T3_T以 及 ADC_ExternalTrigConv_T4_CC4。 定时 器输 出触发比较麻烦,还需要设置相应的定时器。以 ADC_ExternalTrigConv_T2_CC2触发为例设置相应的定

4、时器:voidTIM2_Configuration(void)TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure;TIM_TimeBaseStructure.TIM_Prescaler=4;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseStructure.TIM_Period=0XFF;TIM_TimeBaseStructure.TIM_ClockDivision=0;TIM_TimeBase

5、Structure.TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM2,TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse=0X7F;TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleSta

6、te_Set;TIM_OC2Init(TIM2,TIM_Cmd(TIM2,ENABLE);TIM_CtrlPWMOutputs(TIM2,ENABLE);这样设置之后就可以用定时器 2的输出触发了 , 至于触发的周期 , 设置 TIM2的时间即可。这里不再赘述。 3、 第三种是 外部引脚触发 ,对于 规则通道 ,选择 EXTI线 11和 TIM8_TRGO作为外部触发事件;而 注入通道组 则选择 EXTI线 15和 TIM8_CC4作为外部触发事件。(5)第 五 个 参 数 是 ADC_DataAlign,这 里 设 置 为 ADC_DataAlign_Right右 对 齐 方式 。 建议采用

7、右对齐方式 , 因为这样处理数据会比较方便 。 当然如果要从高位开始传输数据,那么采用左对齐优势就明显了。(6)第六个参数是 ADC_NbrOfChannel, 顾名思义 : 通道的数量 。 要是到多个通道采集数据的话就得设置一下这个参数 。 此外在规则通道组的配置函数中也许将各个通道的顺序定义一下,如:ADC_RegularChannelConfig(ADC1,ADC_Channel_13,1,ADC_SampleTime_13Cycles5);ADC_RegularChannelConfig(ADC1,ADC_Channel_14,2,ADC_SampleTime_13Cycles5);多

8、通道数据传输时有一点还要注意 : 若一个数组为 ADC_ValueTab4, 且设置 了 两 个 通 道 : 通 道 1和 通 道 2, 则 转 换 结 束 后 , ADC_ValueTab0和ADC_ValueTab2存储的是通道 1的数据 , 而 ADC_ValueTab1和 ADC_ValueTab3存储的是通道 2的数据。如果数组容量大则依次类推。补充一点:在使用 DMA传输数据的时候,需要设置外设地址和存储器地址 ,外设地址当然就是 ADC的地址了,而存储器的地址如果使用 8位数据的话,存储器必须定义为 8位缓冲区 ; 如果使用 16位数据格式的话 , 存储器则为 16位缓冲器 ,不可定义为 32位或更多,否则,数据将出错。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报