LED 灯闪烁速度求助

[复制链接]

1

主题

3

帖子

85

积分

一粒轻沙

Rank: 1

积分
85
楼主
查看: 5325回复: 5 发表于 2019-8-28 09:34:25   只看该作者
是这样的,我想把LED灯的上说速度变为原来的一半,调整了演示程序的参数,结果闪烁的速度竟然变快了,并没有变慢的迹象。
头疼!问问小伙伴和大神们 这到底怎么解决。
代码我放在下面了

修改后代码:

while(1)                               //循环体
{
     P1OUT^=BIT0;              //对输出置反
     for(i=0;i<60000;i++);    //延时
}

修改前代码:

while(1)                               //循环体
{
     P1OUT^=BIT0;              //对输出置反
     for(i=0;i<30000;i++);    //延时
}  


谢谢各位了!!!



73

主题

469

帖子

1007

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1007
沙发
发表于 2019-8-28 10:41:05   只看该作者

建议贴上完整的代码。

i是什么变量?

17

主题

137

帖子

553

积分

单晶硅锭

Rank: 3Rank: 3

积分
553
板凳
发表于 2019-8-28 12:58:40   只看该作者
i 溢出了吧?
如果要计数到60000不溢出,i 要定义成unsigned int类型才行

1

主题

3

帖子

85

积分

一粒轻沙

Rank: 1

积分
85
4#
发表于 2019-8-28 13:38:16   只看该作者
shengxiang 发表于 2019-8-28 10:41
建议贴上完整的代码。

i是什么变量?

谢谢 解决了 int类型 换成 long的类型就行了 数据太大了

1

主题

3

帖子

85

积分

一粒轻沙

Rank: 1

积分
85
5#
发表于 2019-8-28 13:41:43   只看该作者
Shuyang 发表于 2019-8-28 12:58
i 溢出了吧?
如果要计数到60000不溢出,i 要定义成unsigned int类型才行

确实溢出了 改了个类型  :L

150

主题

446

帖子

1968

积分

审核员

Rank: 9Rank: 9Rank: 9

积分
1968
6#
发表于 2019-8-28 15:33:03   只看该作者
while(1)                               //循环体
{
     P1OUT^=BIT0;              //对输出置反
     for(i=0;i<30000;i++);    //延时
     for(i=0;i<30000;i++);    //延时
}  

你可以这样试试
快速回复 返回顶部 返回列表