ESP8266 NodeMCU入门:IO口操作
来自丢石头百科
- NodeMcu的引脚定义如下:
- 电平输出
我们选择其中的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脉冲波形。