硬汉嵌入式论坛

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

[STM32H7] 优化bsp驱动中蜂鸣器关掉后,持续发声问题。

[复制链接]

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2022-12-17 12:06:47 | 显示全部楼层 |阅读模式
【1、问题描述】采用硬汉哥蜂鸣器驱动包:
            /* 鸣叫500ms,停止500ms,10次*/
BEEP_Start(50, 50, 10);
//停止定时器
BEEP_Stop();

停止后蜂鸣器持续发声。

【2、解决方案】
调整BEEP_Stop()函数

void BEEP_Stop(void)
{
    DISABLE_INT();          /* 关中断 */

        g_tBeep.ucEnalbe = 0;

        g_tBeep.usStopTime = 0;

        g_tBeep.usCycle = 0;

        if ((g_tBeep.usStopTime == 0) || (g_tBeep.usCycle == 0))
        {
                BEEP_DISABLE();        /* 必须在清控制标志后再停止发声,避免停止后在中断中又开启 */
        }

    ENABLE_INT();                  /* 开中断 */
}

                                          





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2022-12-17 13:08:53 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 21:03 , Processed in 0.143925 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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