极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9789|回复: 3

pwm程序求助

[复制链接]
发表于 2013-4-27 21:02:07 | 显示全部楼层 |阅读模式
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逐渐变亮,再逐渐变暗,结果它一开始按我的想法变,后来就光从暗到亮了,咋回事?
回复

使用道具 举报

 楼主| 发表于 2013-4-27 21:07:19 | 显示全部楼层
已经解决,倒数第六行应为255,但我不知原因。。
回复 支持 反对

使用道具 举报

发表于 2013-4-28 11:56:43 | 显示全部楼层
因为你定义的是 unsigned char i;
值域0~255
所以256等于-1,永远不会小于-1死循环了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-28 12:40:56 | 显示全部楼层
Ansifa 发表于 2013-4-28 11:56
因为你定义的是 unsigned char i;
值域0~255
所以256等于-1,永远不会小于-1死循环了

这样  啊,非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 13:32 , Processed in 0.034970 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表