“ESP8266 NodeMCU入门:使用中断”的版本间的差异

来自丢石头百科
第1行: 第1行:
 +
* 我们将D5口设置为输出PWM波形,使用杜邦线连接D2和D5,并通过中断定时向串口输出内容。
 +
 
   int pwm_pin = D5;
 
   int pwm_pin = D5;
   int follow_pin = D2;
+
   int int_pin = D2;
 +
  long count = 0;
  
 
   void setup_pwm(){
 
   void setup_pwm(){
第7行: 第10行:
 
   }
 
   }
 
    
 
    
   ICACHE_RAM_ATTR void trigger(){  
+
   ICACHE_RAM_ATTR void trigger(){
    if (fg_count > 345000){
+
      count ++;
      analogWrite(pwmPin, 100);
+
      if(count >= 1000){
       detachInterrupt(fgPin);
+
        count = 0;
      fg_count = 0;  
+
        Serial.println("Trigger");  
      client.publish("wu/dianji", "0");  
+
       }
     }
+
  }
 +
   
 +
  void setup() {
 +
    Serial.begin(115200);
 +
    setup_pwm();
 +
    attachInterrupt(int_pin,fg_trigger,RISING);
 +
     analogWrite(pwmPin, 50);
 
   }
 
   }

2020年8月14日 (五) 20:44的版本

  • 我们将D5口设置为输出PWM波形,使用杜邦线连接D2和D5,并通过中断定时向串口输出内容。
 int pwm_pin = D5;
 int int_pin = D2;
 long count = 0;
 void setup_pwm(){
   analogWriteFreq(500);
   analogWriteRange(100);
 }
 
 ICACHE_RAM_ATTR void trigger(){
     count ++;
     if(count >= 1000){
        count = 0;
        Serial.println("Trigger");   
     }
 }
   
 void setup() {
   Serial.begin(115200);
   setup_pwm();
   attachInterrupt(int_pin,fg_trigger,RISING);
   analogWrite(pwmPin, 50);
 }