1、PWM
常规:analogWrite(pin, dutyCycle); 引脚输出指定占空比 PWM
pin 代表引脚
dutyCycle 的值在0~255之间,0为占空比0%,255为占空比100%
(遇到过在一些 IO 上突然不好用的情况,可能与某些库冲突?)
#include <Arduino.h>
#define led 2
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
analogWrite(led, 100); // 输出 PWM,占空比 100/255
}
数字 IO 轮转法:高低电平和延时实现,模拟PWM
优点:所有 Pin 都可以输出
缺点:CPU 不能干其他事情
#include <Arduino.h>
#define led 2
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
digitalWrite(led, HIGH);
delayMicroseconds(100); // 输出PWM,占空比为100/1000 = 10%
digitalWrite(led, LOW);
delayMicrosecon