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

STM8S001J3的ADC采集问题

[复制链接]
libiao3052 提问时间:2018-1-17 15:02 /
STM8S001J3同时两路ADC采集,PC4的AIN2和PD6的AIN6,同样的配置方式,PD6数据正常,PC4的数据一直不变,单通道采集PC4数据也是不变化,下面贴上PD6和PC4的配置方式代码:
void ADC1_Config(void)
{
  /*  初始化 ADC1 通道6的IO口 */
  GPIO_Init(GPIOD, GPIO_PIN_6, GPIO_MODE_IN_PU_NO_IT);
  GPIO_Init(GPIOC, GPIO_PIN_4, GPIO_MODE_IN_FL_NO_IT);

  ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D2);//预分频2
  ADC1_ExternalTriggerConfig(ADC1_EXTTRIG_TIM,DISABLE);//不使用外部触发
  ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL2,DISABLE);
  ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL6,DISABLE);
  //禁止AIN2 AIN4的施密特触发器,降低IO静态功耗
  //PD5,PD6上的通道如果施密特方式禁用会导致串口无法收发数据!

  ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE,//单次转换
                        ADC1_CHANNEL_6,//配置通道号最大的那个
                        ADC1_ALIGN_RIGHT);//右对齐
  ADC1_Cmd(ENABLE);//开启ADC
  ADC1_ScanModeCmd(ENABLE);//开启扫描模式
}


下面是主函数代码:
while (1)   
  {
    //ans = getchar();    //读取输入的字符
   // GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);

    ADC1_StartConversion();//开启一次转换
    while(!ADC1_GetFlagStatus(ADC1_FLAG_EOC));//等待转换完成
    ADC1_ClearFlag(ADC1_FLAG_EOC);//软件清除
    Conversion_Value2=(u16)ADC1_GetBufferValue(ADC1_SCHMITTTRIG_CHANNEL2);//读取AIN2的值
    Conversion_Value6=(u16)ADC1_GetBufferValue(ADC1_SCHMITTTRIG_CHANNEL6);//读取AIN6的值
    printf("%d", Conversion_Value2);  //把输入的字符发送出去
    Delay(100);
    printf("%d", Conversion_Value6);  //把输入的字符发送出去
    Delay(100);
  }

求高手解答!谢谢!

收藏 评论3 发布时间:2018-1-17 15:02

举报

3个回答
wenyangzeng 回答时间:2018-1-17 15:32:29
本帖最后由 wenyangzeng 于 2018-1-17 15:38 编辑

参阅ST官方数据手册可知:PC4的ADC功能在AFR2,你必须在OPTION BYTE中配置PC4的AFR2功能。

无标题.png

同时:你的GPIO配置中:
GPIO_Init(GPIOD, GPIO_PIN_6, GPIO_MODE_IN_PU_NO_IT);
  GPIO_Init(GPIOC, GPIO_PIN_4, GPIO_MODE_IN_FL_NO_IT);
貌似应该2个通道都一致。
还有:如果你不是设置扫描方式,也应该对PC4的ADC进行配置。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

疯de_恒 回答时间:2018-1-17 15:35:16
通道2没打开??

评分

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

查看全部评分

hxydj 回答时间:2018-1-19 16:26:16
PC4的模拟输入功能需要在选项字节中开启,如果没设置选项字节,则AIN2功能默认为没有开启。可以在串口烧写软件中配置选项字节。

评分

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

查看全部评分

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版