“ESP8266 NodeMCU入门:IO口操作”的版本间的差异

来自丢石头百科
(Admin移动页面IO口操作ESP8266 NodeMCU入门:IO口操作,不留重定向)
 
(没有差异)

2020年8月17日 (一) 13:57的最新版本

  • NodeMcu的引脚定义如下:

NodeMCU 引脚定义.png

  • 电平输出

我们选择其中的D2脚,使它输出高电平,输入以下代码:

 int output_pin = D2;
 void setup(){
   pinMode(output_pin, OUTPUT);
   digitalWrite(output_pin, HIGH);
 }
 void loop(){
 }

同理,如果要输出低电平,则将HIGH改为LOW。

  • 电平读取

将D2与D4引脚连接,使用D4引脚读取D2引脚的电平,并不断切换D2引脚的电平,输入以下代码:

 int output_pin = D2;
 int input_pin = D4;
 void setup(){
   pinMode(output_pin, OUTPUT);
   digitalWrite(output_pin, HIGH);
   pinMode(input_pin, INPUT);
 }
 void loop(){
   digitalRead(input_pin);
   if(input_pin == HIGH){
     Serial.println("HIGH");
     digitalWrite(output_pin, LOW);
   }else{
     Serial.println("LOW");
     digitalWrite(output_pin, HIGH);
   }
   delay(2000);
 }

此时串口将交替显示"HIGH"和"LOW"。

  • PWM脉冲输出

除了输出正常的0和1之外,IO口还可以输出PWM脉冲,我们以D5口为例,输出PWM脉冲波形:

 int pwm_pin = D5;
 void setup_pwm(){
   analogWriteFreq(500);  //指定频率
   analogWriteRange(100);  //指定最大占空比
 }
 void setup(){
   setup_pwm();
   analogWrite(pwm_pin, 50);
 }
 void loop(){
 }
 

此时D5口将输出500HZ的50%占空的PWM脉冲波形。