请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 1082|回复: 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--);
}


回复

使用道具 举报

19

主题

1240

帖子

4714

积分

论坛元老

Rank: 8Rank: 8

积分
4714
发表于 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赋值了吗
回复 支持 反对

使用道具 举报

19

主题

1240

帖子

4714

积分

论坛元老

Rank: 8Rank: 8

积分
4714
发表于 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时间,蜂鸣器怎么响?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|51开发板专区 STM32开发板专区 PLC工控专区 PLC学习机专区 ( 粤ICP备18101765号 )

GMT+8, 2019-9-22 06:20 , Processed in 0.149623 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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