打印
[应用相关]

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

[复制链接]
318|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stormwind123|  楼主 | 2021-1-5 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚接触学习STM8 ADC
使用ADC1,AIN4通道
stm8s的VCC 为5V,ADC测量NTC电阻电压时读数15600左右,直接将AIN4接入VCC,读出来16192左右的数值。求大侠帮忙看看。。。

  • void ADC1_Initializes()
  • {
  •   //使用通道4,PD3
  • GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
  • ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, \
  •           ADC1_CHANNEL_4, \
  •           ADC1_PRESSEL_FCPU_D2, \
  •           ADC1_EXTTRIG_TIM, DISABLE, \
  •           ADC1_ALIGN_LEFT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
  • ADC1_Cmd(ENABLE);//启动ADC1
  • }


[color=rgb(51, 102, 153) !important]复制代码

  • uint32_t ADC1_Read()
  • {
  •   uint8_t i;
  •   uint16_t adc_value=0;
  •   uint32_t adc_voltage=0;
  •   for(i=0;i<4;i++)
  •   {
  •     ADC1_StartConversion();
  •     while(RESET==ADC1_GetFlagStatus(ADC1_FLAG_EOC));
  •     ADC1_ClearFlag(ADC1_FLAG_EOC);//等待转换完成,并清除标志
  •     adc_value=adc_value+ADC1_GetConversionValue();
  •   }
  •   adc_voltage = adc_value/4;
  •   return adc_voltage;
  • }


[color=rgb(51, 102, 153) !important]复制代码


使用特权

评论回复
沙发
labasi| | 2021-2-2 20:16 | 只看该作者
这是多少位的ad啊

使用特权

评论回复
板凳
paotangsan| | 2021-2-2 20:18 | 只看该作者
每次读都是这个数值吗

使用特权

评论回复
地板
renzheshengui| | 2021-2-2 20:22 | 只看该作者
接地的话 读出来的是什么数值啊

使用特权

评论回复
5
wakayi| | 2021-2-2 20:25 | 只看该作者
读取的寄存器对吗

使用特权

评论回复
6
wowu| | 2021-2-2 20:29 | 只看该作者
时钟是怎么设置的啊

使用特权

评论回复
7
两只袜子| | 2021-2-9 10:47 | 只看该作者
你选择的是左对齐  换成右对齐就可以了

使用特权

评论回复
8
麻花油条| | 2021-2-9 10:48 | 只看该作者

哈哈,这就是STM8左对齐,右对齐的不同之处。其实左对齐也可以作为查表或判断应用,只是表和数据不同而已

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

416

主题

2134

帖子

2

粉丝