ESP32学习2--error: 'analogWrite' was not declared in this scope

今天尝试使用PWM控制led和电机,按照教程写下如下程序:

int ledPin = 2; // 设定控制 LED 的数字 IO 脚

int val; //定义一个变量

void setup()

{

  pinMode(ledPin, OUTPUT); // 设定数字 IO 口的模式, OUTPUT 为输出

}

void loop()

{

  for(val=0;val<255;val++) //变量循环+1

  {

    analogWrite(ledPin, val); //PWM 输出

    delay(50); //设定延时时间

  }

  for(val=255;val>0;val--) //变量循环-1

  {

    analogWrite(ledPin, val);

    delay(50);

  }

}

编译的时候提示error: 'analogWrite' was not declared in this scope

经多方查找以后发现esp32中并未实现analogWrite方法,详见analogWrite() not implemented #4

官方说法是这个函数正在搞,暂时可以用下面三个方法实现PWM:

16 channels LEDC which is PWM

8 channels SigmaDelta which uses SigmaDelta modulation

2 channels DAC which gives real analog output

下面是2个例子,分别使用SigmaDelta 和 LEDC

1、使用PWM:SigmaDelta实现呼吸灯效果,PIN2

int ledPin=2;

int val;

void setup() {

  //设置 channel 0 频率为 312500 Hz

    sigmaDeltaSetup(0, 312500);

    //IO口 pin 18 附加到 channel 0

    sigmaDeltaAttachPin(ledPin,0);

    //channel 0 初始状态为关闭

    sigmaDeltaWrite(0, 0);

}

void loop() {

  for(val=0;val<255;val++)

  {

    sigmaDeltaWrite(0,val);

    delay(50);

  }

  for(val=255;val>0;val--)

  {

    sigmaDeltaWrite(0,val);

    delay(50);

  }

}

2、使用LEDC控制led和电机

// use first channel of 16 channels (started from zero)

#define LEDC_CHANNEL_0    0

// use 13 bit precission for LEDC timer

#define LEDC_TIMER_13_BIT  13

// use 5000 Hz as a LEDC base frequency

#define LEDC_BASE_FREQ    20000

// fade LED PIN (replace with LED_BUILTIN constant for built-in LED)

#define LED_PIN            2

int brightness = 0;    // how bright the LED is

int fadeAmount = 5;    // how many points to fade the LED by

// Arduino like analogWrite

// value has to be between 0 and valueMax

void ledcAnalogWrite(uint8_t channel, uint32_t value, uint32_t valueMax = 255) {

  // calculate duty, 8191 from 2 ^ 13 - 1

  uint32_t duty = (8191 / valueMax) * min(value, valueMax);

  // write duty to LEDC

  ledcWrite(channel, duty);

}

void setup() {

  // Setup timer and attach timer to a led pin

  ledcSetup(LEDC_CHANNEL_0, LEDC_BASE_FREQ, LEDC_TIMER_13_BIT);

  ledcAttachPin(LED_PIN, LEDC_CHANNEL_0);

}

void loop() {

  // set the brightness on LEDC channel 0

  ledcAnalogWrite(LEDC_CHANNEL_0, brightness);

  // change the brightness for next time through the loop:

  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:

  if (brightness <= 0 || brightness >= 255) {

    fadeAmount = -fadeAmount;

  }

  // wait for 30 milliseconds to see the dimming effect

  delay(30);

}

用上这段代码,nidec的无刷直流电机终于转动了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容

  • basics analogreadserial bareminimum blink DigitalReadSeri...
    麦牛2013阅读 2,337评论 0 1
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,319评论 0 10
  • /************单片机:HT66018​​********/ /************ 日期:1603...
    _小豆豆阅读 767评论 0 0
  • 今天又像打鸡血似的,忙碌了一天。昨晚作业下来总结,发现教练是真心的对我们好。作业量虽然很大,但是只要自己把学的知识...
    护眼天使萍萍阅读 138评论 0 0
  • 体育课啊,排球考试,之前卖力地打都可以过,一到考试就他妈得事事不顺。宿舍人都过了,只有我差一个球,真的心痛,失落。...
    可我是璇璇啊阅读 210评论 0 0