硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2767|回复: 3
收起左侧

关于beep的问题

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2021-3-3 10:27:08 | 显示全部楼层 |阅读模式
Inked001_LI.jpg
Inked002_LI.jpg
硬汉哥,每隔10ms调用1次调用一次BEEP_Pro函数,当g_tBeep.usCycleCount = g_tBeep.usCycle时,使得g_tBeep.ucEnalbe = 0,接着的if语句会使g_tBeep.usStopTime = 0,我认为g_tBeep.usStopTime = 0这一句是不是可以去掉,改成
if (++g_tBeep.usCycleCount >= g_tBeep.usCycle)
{
        /* 循环次数到,停止发声 */
        g_tBeep.ucEnalbe = 0;
        return;
}

因为第一张图片中
if ((g_tBeep.ucEnalbe == 0) || (g_tBeep.usStopTime == 0) || (g_tBeep.ucMute == 1))
        {
                return;
        }

已经有了g_tBeep.ucEnalbe == 0这个条件,若蜂鸣器周期执行完,g_tBeep.ucEnalbe == 0,下次10ms后调用这个函数就会直接返回,不需要g_tBeep.usStopTime == 0了,所以我感觉第二张图片画圈处是多余的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2021-3-3 11:24:41 | 显示全部楼层
可以去掉。
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2021-3-3 12:15:06 | 显示全部楼层
好的,谢谢硬汉哥
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2021-3-3 12:15:34 | 显示全部楼层
好的,谢谢硬汉哥
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 21:02 , Processed in 0.311995 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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