stm32第四天控制蜂鳴器

一:

1.蜂鳴器的種類
蜂鳴器是一種常用的電子發聲元器件,采用直流電壓供電。廣泛應用于計算機,打ED機,報警器,電子玩具,汽車電子設備燈等產品中常見的蜂鳴器可分為有源蜂鳴器和無源蜂鳴器。
2.蜂鳴器的控制方式
有源蜂鳴器:內部有震蕩源,只要通電即可自動發出固定頻率的聲音。(頻率固定無法控制音色)
無源蜂鳴器:內部無震蕩源,需要外部脈沖信號驅動發聲,聲音頻率可變。(可改變頻率來改變音色)
3.區分蜂鳴器
從外觀上來看兩種蜂鳴器形狀相似,有源蜂嗚器底部有黑膠密封。無源峰鳴器底部可以看到電路板,兩種蜂鳴器都標注有正負極。

4:軟件設計流程
·初始化系統
。 初始化GPIO外設時鐘GPIOA
。 初始化蜂鳴器的引腳 A3
。輸出電平控制蜂鳴題

5:寫工程

a:建立bear(蜂鳴器)的.c文件

#include"Bear.h"
#include"stm32f10x.h"void Bear_Init(void)//蜂鳴器的初始化函數
{//有兩個步驟,1:初始化蜂鳴器引腳A3 2:初始化時鐘,GPIO_InitTypeDef Bear_Initstrurt;//初始化蜂鳴器結構體,這一句是定義一個結構體變量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE );//初始化APB2下的GPIO時鐘//下面是配置結構體的參數Bear_Initstrurt.GPIO_Pin=GPIO_Pin_3;//配置引腳為GPIO_PIN_3,也就是GPIOA3引腳Bear_Initstrurt.GPIO_Speed=GPIO_Speed_10MHz;//配置A3引腳傳輸速度為10MHZBear_Initstrurt.GPIO_Mode=GPIO_Mode_Out_PP;//配置A3引腳輸出模式為推挽輸出GPIO_Init(GPIOA,&Bear_Initstrurt);//初始化GPIOA3的結構體}

b:寫Bear.h(頭文件)

void Bear_Init(void);//聲明函數

c:寫main主函數

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"void delay(uint16_t time)//延時1ms  軟件延時粗延時
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鳴器的引腳GPIO A3while(1){GPIO_ResetBits(GPIOA, GPIO_Pin_3);//讓GPIO A3輸出低電平,蜂鳴器就響了}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72429.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72429.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72429.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Swift 中 associatedtype 的用法詳解

目錄 前言 1.什么是associatedtype 2.associatedtype 的作用 1.讓協議支持泛型 2.讓協議支持不同的數據類型 3.結合 where 關鍵字限制類型 4.什么時候使用 associatedtype 5.總結 前言 在 Swift 語言中,泛型(Generics)是一個非常強大…

每日Attention學習26——Dynamic Weighted Feature Fusion

模塊出處 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模塊名稱 Dynamic Weighted Feature Fusion (DWFF) 模塊作用 雙級特征融合 模塊結構 模塊思想 我們提出了 DWFF 策略&am…

OpenCV實現圖像特征提取與匹配

?一、特征檢測與描述子提取? ?選擇特征檢測器? 常用算法包括: ?ORB?:一種高效的替代SIFT和SURF的算法,主要用于移動機器人和增強現實等領域。適合實時應用,結合FAST關鍵點與BRIEF描述子?。?SIFT(尺度不變特征變…

向量檢索在AI中的應用與技術解析

關鍵要點 向量檢索在AI中用于信息檢索、推薦系統和圖像搜索,研究表明其通過高維空間中的向量表示數據來提升搜索相關性。它依賴于嵌入技術(如Word2Vec、BERT)和近鄰算法(如kNN、ANN),證據傾向于其在處理大…

事務與異步方法(@Async)協同工作

目錄 1. 問題場景與風險 (1)典型場景 (2)風險分析 2. 解決方案:事務提交后觸發異步操作 (1)代碼示例 (2)關鍵注解 3. 原理解析 (1)事務同…

關于進程的實驗(子進程和父進程相關的)

文章目錄 1.第一個問題2.第二個問題3.第三個問題 1.第一個問題 編寫一段程序,利用系統調用fork( )創建兩個進程。當此程序運行時,在系統中有一個父進程和兩個子進程活動。讓每一個進程在屏幕上顯示一個字符:父進程顯示字符“a”;子進程分別顯…

MyBatis 如何創建 SqlSession 對象的?

MyBatis 創建 SqlSession 對象的過程主要由 SqlSessionFactory 接口及其實現類來完成。以下是詳細步驟: 1. SqlSessionFactory 接口: SqlSessionFactory 是 MyBatis 的核心接口之一,它負責創建 SqlSession 對象。 你可以將 SqlSessionFactory 視為 Sql…

深度優先搜索(DFS)剪枝技術詳解與C++實現

深度優先搜索(DFS)剪枝技術通過提前終止無效路徑的搜索,大幅提升算法效率。以下是五種核心剪枝技術的詳細解析及C代碼示例: 目錄 一、可行性剪枝 C實現示例 二、搜索順序剪枝 偽代碼邏輯 三、最優性剪枝 C實現示例 四、排除…

【雙指針】移動零

題目描述: 算法分析: 觀察輸入輸出: 輸出中一共分為兩個區域,0區和非零區。 但是在處理未完成之前,必然存在著一個零和非零數共存的區域,所以在處理的過程當中一共有三個區域,0區,…

學習15天:pytest

1、.pytest強大的插件 pytest-html(生成html格式的自動化測試報告) pytest-xdist測試用例分布式執行。多CPU分發。 pytest-ordering 用于改變測試用例的執行順序 pytest-rerunfailures用例失敗后重跑 allure-pytest 用于生成美觀的測試報告。 2、規則: 模塊…

股票交易所官方api接口有哪些?獲取和使用需要滿足什么條件

炒股自動化:申請官方API接口,散戶也可以 python炒股自動化(0),申請券商API接口 python炒股自動化(1),量化交易接口區別 Python炒股自動化(2):獲取…

2.7 滑動窗口專題:串聯所有單詞的子串

LeetCode 30. 串聯所有單詞的子串算法對比分析 1. 題目鏈接 LeetCode 30. 串聯所有單詞的子串 2. 題目描述 給定一個字符串 s 和一個字符串數組 words,words 中所有單詞長度相同。要求找到 s 中所有起始索引,使得從該位置開始的連續子串包含 words 中所…

【區塊鏈】區塊鏈密碼學基礎

🌈個人主頁: 鑫寶Code 🔥熱門專欄: 閑話雜談| 炫酷HTML | JavaScript基礎 ?💫個人格言: "如無必要,勿增實體" 文章目錄 區塊鏈密碼學基礎引言一、哈希函數1.1 基本概念1.2 數學表達 二、非對稱加密2.1…

Spring Boot配置類原理、Spring Boot核心機制理解,以及實現自動裝置的底層原理

目的:從底層源碼角度分析 Spring Boot 配置類以及自動裝載的底層原理 文章目錄 1. Spring Boot 配置類實現自動裝載1.1 @Configuration注解1.2 @Configuration 注解完成 bean 注入流程圖1.3 @ConfigurationProperties注解賦值2. Spring Boot的核心機制:自動裝配2.1 @SpringBo…

docker桌面版啟動redis,解決無法連接

docker run -d --name redis -p 6379:6379 -v E:\2\redis\redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf 在本地創建一個目錄,里面有個redis.conf文件,內容如下,啟動時綁定這個配置文件目…

[網絡][tcp協議]:tcp報頭

tcp(傳輸控制協議)是一種面向字節流的傳輸層協議,相較于udp協議,tcp能保證傳輸數據的可靠性與準確性,tcp也是目前最常見的傳輸層協議 本文主要介紹tcp報頭各個字段的含義與用途 注:保留6位和6位標記位是目前最普遍的寫法,在我查資料時,發現有一些拓展情況,會在后文細說 最簡單的…

【虛幻C++筆記】引擎源碼下載及編譯步驟

目錄 1.在GitHub上訪問虛幻引擎源代碼2.安裝Visual Studio 20223.解壓完成以后,打開源碼的根目錄,選擇Setup.bat運行4.選擇GenerateProjectFiles.bat運行,生成uE5.sln文件,點擊這個文件打開項目5.設置編譯的選項,選擇DevelopmentE…

【數學建模】層次分析法(AHP)詳解及其應用

層次分析法(AHP)詳解及其應用 引言 在現實生活和工作中,我們經常面臨復雜的決策問題,這些問題通常涉及多個評價準則,且各準則之間可能存在相互影響。如何在這些復雜因素中做出合理的決策?層次分析法(Analytic Hierarchy Process…

科普:為何要對特征進行分箱?

一、為何要對特征進行分箱? 分箱(Binning)是將連續型或離散型特征轉化為區間型變量的過程,其核心目標是提升模型效果和解釋性,具體原因如下: 1. 業務需求 可解釋性:將特征轉化為業務可理解的…

理解langgraph工作流的驅動邏輯,以適應langgraph工作流模式的編程。

langgraph的工作流模式雖然方便直觀,但習慣了普通函數式編程的數據流處理。剛開始接觸時,確實容易試圖用函數式編程的思維去適配它,特別是langgraph數據傳遞由狀態字典管理,而非函數返回值,導致代碼不夠自然&#xff0…