你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8 ADC通道AIN12引脚

[复制链接]
黑白之间79 提问时间:2015-12-20 13:05 /
各位,本人最近在写STM8 ADC程序时发现一个问题,将程序粘贴如下。
    ADC1_DeInit();
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D18);
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_1, ADC1_PRESSEL_FCPU_D18);
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_2, ADC1_PRESSEL_FCPU_D18);
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_4, ADC1_PRESSEL_FCPU_D18);
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_5, ADC1_PRESSEL_FCPU_D18);
    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_12, ADC1_PRESSEL_FCPU_D18);
    ADC1_ScanModeCmd(ENABLE);
    /*enable adc interrupt*/
    ADC1_ITConfig(ADC1_IT_EOCIE, DISABLE);
/*enable adc buffer register,the result is saved in ADC_DBxRH and ADC_DBxRL*/
    ADC1_DataBufferCmd(ENABLE);
    /*enable ADC1*/
    ADC1_Cmd(ENABLE);  
    while(i--);
    ADC1_StartConversion();

上述是初始化,因空间太小,我简写了。说下需求,我需要采样通道0、1、2、4、5、12通道,采用单次带缓存扫描模式。现在问题来了,STM8的12通道是不能使用扫描模式的。我现在开启中断应该怎样读取数据。
实验结果如下:开启中断,在定时器中开启ADC采样,频率为20KHz,
        ADC_RESULT_T.uwPVaPVNegSample= ADC1_GetBufferValue(0x00);
        ADC_RESULT_T.uwPVbPVNegSample= ADC1_GetBufferValue(0x01);
        ADC_RESULT_T.uwBusSample = ADC1_GetBufferValue(0x02);
        ADC_RESULT_T.uwPVbGndSample = ADC1_GetBufferValue(0x04);  
        ADC_RESULT_T.uwPVaGndSample = ADC1_GetBufferValue(0x05);
        ADC_RESULT_T.uwNGndSample = ADC1_GetConversionValue();
这样读取的数据,结果发现0通道和12通道读取结果一致,其他通道数据不更新。
如果使用查询方式,上面读取结果正常。
数据手册中解释道,如果使用扫描模式,那么最后一组数据读完,就进入中断。那么12通道也是采样完就进入中断,到底因该是怎么样呢?
我现在想得到的效果是使用中断方式读取结果,各位有什么好建议吗,不胜感激。
收藏 评论3 发布时间:2015-12-20 13:05

举报

3个回答
黑白之间79 回答时间:2015-12-20 14:41:03
各位,本人最近在做STM8的ADC采样时使用单次扫描模式,发现一个问题:当第一次扫描完开始启动第二次扫描时,发现只有通道0的数据更新,其他通道数据不更新。有高手知道怎么回事,求指教。
其实这个问题是上面问题的简化,各位有碰到吗,请不吝赐教。
追寻V 回答时间:2015-12-23 16:04:44
单次扫描 是不是 设定了其中一个 别的没有设置呢。
xmshao 回答时间:2015-12-23 16:51:37


你试试对channel0,1,2,3,4,5   六个通道做singel scan。
【CHANNEL 3你不用理它,哪个BUFFER对应哪个通道的值就好】
  channel 5 转换完成后会产生 EOC中断。

对channel 12单独查询操作,因为CHANNEL 12不支持SCAN.

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版