STM8L051之ADC+DMA两通道数据采样错位问题

2020-01-15来源: eefocus关键字:STM8L051  ADC  DMA  两通道  数据采样  错位问题

程序中使用ADC1采样一个外部输入,一个内部参考电压的电压,其中出现了两通道的数据错位问题,即有时数组第一个数与该数组第二个数据交换了,在网上找了很久都没神马结果,最后只能将ADC的连续转换模式设置成单次转换


即ADC_Init(ADC1, ADC_ConversionMode_Continuous,   ADC_Resolution_12Bit, ADC_Prescaler_1);改成

ADC_Init(ADC1, ADC_ConversionMode_Single,  ADC_Resolution_12Bit, ADC_Prescaler_1);


在每次一组数据传 输完成产生一次DMA中断的时候再启动下一次adc转换。这样数据才不至于错位。


***最后,如果读者有一些在adc连续转换模式解决数据错位的办法,请指教***

关键字:STM8L051  ADC  DMA  两通道  数据采样  错位问题 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic485738.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8L051 GPIO PC0 PC1无法上拉的问题
下一篇:STM8L051之蜂鸣器beep--库函数版(没有用TIM2校准LSI)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm8L 触摸库使用教程
1、查看触摸库说明文档,根据需要选取芯片(主要支持几个键):STMTouch Driver User Manual一个channel为一个按钮,比如STM8L101F 就支持3个按钮,通过按钮扩充方式可以增加按钮,参照:增加触摸传感按钮数量指南.pdf2、下载对应的官方触摸库  STM8L_STMTouch_Lib_V1.1.0,将以下两个文件夹复制到自己的工程文件夹中3、选择跟自己项目相近的工程打开,比如我要做1-4个按钮的触摸灯,就选了STM8L101K3_Ex01打开:Projects——Examples——STM8L101K3_Ex01——EWSTM8(我用的是IAR)——Example.eww4、打开后Make
发表于 2020-01-16
stm8L 触摸库使用教程
stm8L051使用库建工程
先前直接寄存器开发,不过挺麻烦的,寄存器开发stm8s103直接对着英文技术手册写代码,现在换到了stm8L的又要回头看英文文档,开发效率个人感觉对于我这个新手来说还是很低的。现在在社区下载了一份固件,看看能不能建立一个用库的工程吧。(先前简单看过别人建工程的过程,由于对IAR不熟悉,不成功,现在也就是刚刚弄到没任何错误。)1 先下载一份工程固件stsw-stm8016,固件迟些发送到资源上面,也可以到stm32/stm8社区下载。 2 建立一个iar的工程 这里建立的工程如下(我已经弄好的):   备注:app文件放我们自己编写的BSP驱动,lib放固件,还有三个文件 
发表于 2020-01-15
stm8L051使用库建工程
STM8L051之蜂鸣器beep--库函数版(没有用TIM2校准LSI)
STM8L051的蜂鸣器引脚与swin调试口共用一个引脚,虽然使用了beep就不能使用调试功能(程序下载完成后,断开调试的swin,重启即可输出),但还是可以烧写程序到MCU中的。 (**注意**可以不用设置选项位即可使用beep功能)下面是库函数的代码:void BeepInit(){  // BEEP_LSClockToTIMConnectCmd(ENABLE);   CLK_PeripheralClockConfig(CLK_Peripheral_BEEP,ENABLE);  // BEEP_LSICalibrationConfig(38000);   
发表于 2020-01-15
STM8L051 GPIO PC0 PC1无法上拉的问题
做一个温湿度,第一个样板调通以后,进行改版,为了减少PCB的面积,做得精巧一点,没经过验证,也没认真看书就去掉了GPIO上的2个上拉电阻,毕竟GPIO是有内部上拉电阻,结果真的中奖了,功能上不来了。正好是在PC0和PC1这两个IO上,然而正片IC就正好是这两个IO没有上拉功能,哈哈哈,又要改一版了,望引以为戒。
发表于 2020-01-15
STM8L051 GPIO PC0 PC1无法上拉的问题
STM8L051单片机,PWM配置
STM8L051单片机,PWM配置。文件.c 中代码如下所示#include <MYPWM.h>void MYPWM_Init(void)//PWM初始化{  GPIO_Init(GPIOB,GPIO_Pin_1,GPIO_Mode_Out_PP_High_Fast); //TIME3 ,CH1,PB1,快速推挽输出高电平  TIM3_DeInit();//定时器配置为缺省  CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,ENABLE);      //TIME3时钟使能 
发表于 2020-01-15
MSP430之ADC采集滤波
占位符 1     /* 加权平均滤波 */ 2     static unsigned char coe[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13}; 3     static unsigned int coeSum= 1+2+3+4+5+6+7+8+9+10+11+12+13; 4     unsigned long temp = 0; 5  6     for (i = 0; i
发表于 2020-01-15
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved