普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3780|回复: 4

新人求教,一段代码

 关闭 [复制链接]

1

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2019-4-24 22:22:56 | 显示全部楼层 |阅读模式
   蜂鸣器发声的代码,两种有啥不同,为什么一个能发声,一个不能?
第一种代码  
u16 i=10;
    while(1){
    fm=~fm;
    while(i--);
    }
第二中代码
while(1){
    fm=~fm;
    delay(10);
    }
延时的函数
delay(i){
while(i--);
}


回复

使用道具 举报

20

主题

1344

帖子

8372

积分

论坛元老

Rank: 8Rank: 8

积分
8372
发表于 2019-4-25 07:21:25 | 显示全部楼层
我知道。
第二种要响,第一种不响。
要想第一种也响,那么就将i赋初值吧
第一种代码  
u16 i=10;
    while(1){
    fm=~fm;
    while(i--);
i=10;
    }
保证响!呵呵
回复 支持 反对

使用道具 举报

3

主题

4

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2019-4-25 14:57:09 | 显示全部楼层
HC6800-ES-V2.0 发表于 2019-4-25 07:21
我知道。
第二种要响,第一种不响。
要想第一种也响,那么就将i赋初值吧

他这个u16 i=10不是已经讲i赋值了吗
回复 支持 反对

使用道具 举报

20

主题

1344

帖子

8372

积分

论坛元老

Rank: 8Rank: 8

积分
8372
发表于 2019-4-26 07:15:21 | 显示全部楼层
行走在消逝中 发表于 2019-4-25 14:57
他这个u16 i=10不是已经讲i赋值了吗

那个是变量、变量、变量啊
你的while(i--)不是已经让变量i变为0了吗,如果不再次赋值,下次就直接是0,跳过延时,所以不响了,好可能是0-1=255,延时太长,也不响了。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2019-5-3 16:41:44 | 显示全部楼层
很简单,第一段代码没有delay时间,蜂鸣器怎么响?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-19 11:17 , Processed in 0.095546 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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