设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5306|回复: 4
打印 上一主题 下一主题

stm8s103的ADC转换程序 怎么跑不起来呀

[复制链接]

3

主题

12

帖子

68

积分

注册会员

Rank: 2

积分
68
跳转到指定楼层
楼主
key 发表于 2015-1-30 08:24:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void ADC_Init(void)
{
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_0,
          ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE,
          ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);


}
void ADConvert(void)
{
  unsigned char count=0;
  ADC1->CR1|=0x02;
  ADC1_StartConversion();
  while(count<10)
{
   while(ADC1_GetConversionValue()==RESET);
    ADC1_ClearFlag(ADC1_FLAG_AWS2);

   ADCValue[count]=ADC1_GetConversionValue();
    count++;
  }
  ADC1->CR1&=~0x02;
}

void Digutal(void)
{
  unsigned char i,j;
  unsigned int temp;

  for(i=10;i>=1;i--)
  {
         for(j=0;j<=(i-1);j++)
         {
           if(ADCValue[j]>ADCValue[j+1])
           {
             temp=ADCValue[j];
             ADCValue[j]=ADCValue[j+1];
             ADCValue[j+1]=temp;
           }
         }
  }
  voltageADC=0;
  for(i=2;i<=7;i++)
  voltageADC+=ADCValue[i];
  voltageADC/=6;  
  voltage=(unsigned int)((unsigned long)voltageADC*3240UL/1023UL);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
沙发
admin 发表于 2015-1-30 20:21:04 | 只看该作者
出现什么状态?
回复 支持 反对

使用道具 举报

3

主题

12

帖子

68

积分

注册会员

Rank: 2

积分
68
板凳
 楼主| key 发表于 2015-1-31 09:56:48 | 只看该作者
现在能读出数来,但是比较乱是不是没有参考电压的问题,stm8s103数据手册上没有关于参考电压的解释
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
地板
admin 发表于 2015-1-31 15:06:27 | 只看该作者
key 发表于 2015-1-31 09:56
现在能读出数来,但是比较乱是不是没有参考电压的问题,stm8s103数据手册上没有关于参考电压的解释

肯定需要参考电压,你看管脚的定义,是不是电源就直接给的参考电压
回复 支持 反对

使用道具 举报

3

主题

12

帖子

68

积分

注册会员

Rank: 2

积分
68
5#
 楼主| key 发表于 2015-1-31 16:25:15 | 只看该作者
admin 发表于 2015-1-31 15:06
肯定需要参考电压,你看管脚的定义,是不是电源就直接给的参考电压

ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_2, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_LEFT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);


已解决 AD部分没问题 在显示上出现问题了。
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-4-24 04:24 , Processed in 0.132687 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表