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

STM8L151 0输入时,AD转换值很大

[复制链接]
zhxingyu2014 提问时间:2014-4-15 12:54 /
 先用到STM8L151芯片 ,有21路AD转换,在0V输入时,每路的AD转换值也有1540,Vref+链接的是VCC电源端,找了好久不知道什么原因,请高手支招。谢谢!下面是代码:
void ADCinit(void)
{
       ADC1_CR1 = 0x00;
        ADC1_CR2 = 0x02;//0x02  0~23通道AD16分频寄存器
        ADC1_SR = 0x00;
                  ADC1_TRIGR1 = 0x00;

                 ADC1_TRIGR2 = 0xff;//禁止AIN16~AIN23施密特触发                ADC1_TRIGR3 = 0xff;//禁止AIN8~AIN15施密特触发
                 ADC1_TRIGR4 = 0xf8;//禁止AIN3~AIN7施密特触发
        ADC1_SQR1 = 0x80;//禁用DMA模块
        ADC1_SQR2 = 0x00;
        ADC1_SQR3 = 0x00;
        ADC1_SQR4 = 0x08;//
        ADC1_CR1 |= 0x01;//使能ADC
        Delay_us(20);
        ADC1_CR1 |= 0x02;//启动ADC
}
void ADConvert(void)
{
        unsigned int ADCValue=0;
        
        if(!(ADC1_SR&0x01))return;
        ADC1_SR &= 0xfe;//清除转换标志
        //ADCValue = ADC1_DRL;
<span style="color: rgb(34, 34, 34); font-family: sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(238, 238, 238); ">        //ADCValue |= ADC1_DRH
收藏 评论5 发布时间:2014-4-15 12:54

举报

5个回答
木头子 回答时间:2014-4-15 16:51:37

回复:STM8L151 0输入时,AD转换值很大

看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整……
zhxingyu2014 回答时间:2014-4-15 17:45:14

回复:STM8L151 0输入时,AD转换值很大

回复第 2 楼 于2014-04-15 16:51:37发表:
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整…… 
 
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
 
木头子 回答时间:2014-4-15 18:28:44

回复:STM8L151 0输入时,AD转换值很大

回复第 3 楼 于2014-04-15 17:45:14发表:
回复第 2 楼 于2014-04-15 16:51:37发表:
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整…… 
 
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
 

 

以为是stm8s。对于stm8l不熟悉,看看芯片手册数据对齐方式,代码完整不完整,我看不到main函数。等高手来帮忙把
zhxingyu2014 回答时间:2014-4-15 21:59:53

回复:STM8L151 0输入时,AD转换值很大

回复第 4 楼 于2014-04-15 18:28:44发表:
回复第 3 楼 于2014-04-15 17:45:14发表:
回复第 2 楼 于2014-04-15 16:51:37发表:
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整…… 
 
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
 

 

以为是stm8s。对于stm8l不熟悉,看看芯片手册数据对齐方式,代码完整不完整,我看不到main函数。等高手来帮忙把
 
谢谢你的关注。
 
wkuang 回答时间:2014-4-22 23:27:09

RE:STM8L151 0输入时,AD转换值很大

1、看下你的参考电压,看起来是参考电压不对。
2、调整输入,看ad值是否变化,从而确定你的软件有没有问题。
如果输入变化,ad成比例变化,肯定是参考电压设置有问题
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版