首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESP32:在活动模式下读取模数转换器阻止在深度睡眠模式ULP代码中读取模数转换器

ESP32:在活动模式下读取模数转换器阻止在深度睡眠模式ULP代码中读取模数转换器
EN

Stack Overflow用户
提问于 2021-01-03 10:54:07
回答 1查看 55关注 0票数 0

我目前正在做一个GPS项目,正在使用电压检测来让我的系统进入睡眠状态并唤醒它。

当ADC通道6(引脚34)上的电压为0时,系统进入深度睡眠,并且在深度睡眠中,我使用ULP码来测量电压并在达到阈值时唤醒系统。我现在的问题是,当我在活动模式下运行adc1_get_raw(ADC1_CHANNEL_6)时,深度睡眠模式下的ADC读取ULP程序没有响应,我仍然删除了活动模式下的代码。谁能告诉我这里出了什么问题。提前谢谢。

主用模式代码:

代码语言:javascript
复制
bool ignitionSate() {
  int val = 0;
  val = adc1_get_raw(ADC1_CHANNEL_6);
    
  if (val > 0) {
    return true;
  } else {
        return false;
  }
}

深度睡眠ADC配置代码:

代码语言:javascript
复制
/* Configure ADC channel */
/* Note: when changing channel here, also change 'adc_channel' constant in adc.S */
adc1_config_channel_atten(ADC1_CHANNEL_6, ADC_ATTEN_DB_11);
adc1_config_width(ADC_WIDTH_BIT_12);
adc1_ulp_enable();
EN

回答 1

Stack Overflow用户

发布于 2021-08-09 11:44:54

我在一个我正在做的项目中遇到了这个问题。

在活动模式下调用adc1_get_raw()之后,需要调用adc1_ulp_enable(),这样ULP ADC指令才不会挂起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65546232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档