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

STM8 ADC1读出了16192数值,是不是我设置错了?

[复制链接]
limosky 提问时间:2019-10-29 16:39 /
刚接触学习STM8 ADC
使用ADC1,AIN4通道
stm8s的VCC 为5V,ADC测量NTC电阻电压时读数15600左右,直接将AIN4接入VCC,读出来16192左右的数值。求大侠帮忙看看。。。

  1. void ADC1_Initializes()
  2. {
  3.   //使用通道4,PD3
  4. GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
  5. ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, \
  6.           ADC1_CHANNEL_4, \
  7.           ADC1_PRESSEL_FCPU_D2, \
  8.           ADC1_EXTTRIG_TIM, DISABLE, \
  9.           ADC1_ALIGN_LEFT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
  10. ADC1_Cmd(ENABLE);//启动ADC1
  11. }
复制代码
  1. uint32_t ADC1_Read()
  2. {
  3.   uint8_t i;
  4.   uint16_t adc_value=0;
  5.   uint32_t adc_voltage=0;
  6.   
  7.   for(i=0;i<4;i++)
  8.   {
  9.     ADC1_StartConversion();
  10.     while(RESET==ADC1_GetFlagStatus(ADC1_FLAG_EOC));
  11.     ADC1_ClearFlag(ADC1_FLAG_EOC);//等待转换完成,并清除标志
  12.     adc_value=adc_value+ADC1_GetConversionValue();
  13.   }
  14.   adc_voltage = adc_value/4;

  15.   
  16.   return adc_voltage;
  17. }
  18.   
复制代码


收藏 评论5 发布时间:2019-10-29 16:39

举报

5个回答
limosky 回答时间:2019-10-29 16:47:05
重新设置了一遍初始化的参数。数据对齐方向改成了右对齐之后数据就正常了。
limosky 回答时间:2019-10-29 16:47:46
重新设置了数据对齐方向,就正常了
mylovemcu 回答时间:2019-10-30 16:43:06
你选择的是左对齐  换成右对齐就可以了
limosky 回答时间:2019-10-30 17:29:43
mylovemcu 发表于 2019-10-30 16:43
你选择的是左对齐  换成右对齐就可以了

嗯嗯,解决了
butterflyspring 回答时间:2019-11-1 15:31:27
哈哈,这就是STM8左对齐,右对齐的不同之处。其实左对齐也可以作为查表或判断应用,只是表和数据不同而已

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版