Microsoft 发表于 2013-4-27 21:02:07

pwm程序求助

int led = 3;
void setup() {               
pinMode(led, OUTPUT);   
}
void loop()
{
unsigned char i;
while(1)
{
for(i=255;i>1;i--)
{
analogWrite(led, i);
delay(10);
}
for(i=0;i<256;i++)
{
analogWrite(led, i);
delay(10);
}
}
我的想法是led逐渐变亮,再逐渐变暗,结果它一开始按我的想法变,后来就光从暗到亮了,咋回事?

Microsoft 发表于 2013-4-27 21:07:19

已经解决,倒数第六行应为255,但我不知原因。。

Ansifa 发表于 2013-4-28 11:56:43

因为你定义的是 unsigned char i;
值域0~255
所以256等于-1,永远不会小于-1死循环了

Microsoft 发表于 2013-4-28 12:40:56

Ansifa 发表于 2013-4-28 11:56 static/image/common/back.gif
因为你定义的是 unsigned char i;
值域0~255
所以256等于-1,永远不会小于-1死循环了

这样啊,非常感谢
页: [1]
查看完整版本: pwm程序求助