【STM32 ARM】操作寄存器控制led

文章目錄

  • 前言
  • GPIO操作方法
    • led原理圖
    • 設置時鐘
      • APB的概念
    • 設置APB
    • 設置輸出引腳
    • 設置引腳高低電平寄存器
    • 尋找寄存器地址
  • 總結


前言

STM32是STMicroelectronics(意法半導體)公司的一款32位Flash微控制器產品,基于ARM Cortex?-M內核。STM32系列微控制器在工業控制、商業應用等領域得到了廣泛的應用。本文將介紹如何使用STM32的ARM架構操作寄存器來控制LED。

在嵌入式系統中,LED常常被用作簡單的顯示設備,可以用來指示系統的狀態、運行情況等。在STM32中,我們可以通過操作GPIO(General Purpose Input/Output,通用輸入輸出)寄存器來控制LED的亮滅。


GPIO操作方法

led原理圖

這個是我的原理圖:
在這里插入圖片描述
我現在需要操作PB5,所以我們需要去設置他
我們需要查看芯片手冊,我們才能去設置他

設置時鐘

APB的概念

STM32微控制器中的APB(Advanced Peripheral Bus,高級外設總線)主要用于低帶寬的周邊外設之間的連接,例如UART、I2C等。在STM32中,APB又可以分為APB1和APB2。

  • APB1:APB1是低速總線,最高支持42MHz的頻率。它主要負責DA,USB,SPI,I2C,CAN,串口2345,以及普通的定時器。

  • APB2:相比之下,APB2是高速總線,最高支持84MHz的頻率。它主要負責AD,I/O,高級的定時器,以及串口1。

另外,如果所在總線(APB1/APB2)的分頻系數為1,那么就不倍頻,如果不為1(比如2/4/8/16),那么就會2倍頻后,作為定時器時鐘輸入。

設置APB

我們需要操作的是GPIO,所以我們需要設置APB2
在這里插入圖片描述
我們可以看到IPPB EN這個寄存器,這個就是我們需要操作的
他的取值:
在這里插入圖片描述
1表示使能。他是全部使能的,使能了他,GPIOB的其余所有引腳都被使能了

設置輸出引腳

在這里插入圖片描述
這里是配置某個引腳的寄存器數據手冊,low表示0~7號引腳,共8個

在 STM32 微控制器的 GPIO 配置中,CNFy[1:0]MODEy[1:0] 是用來配置 GPIO 引腳的寄存器位。

  • CNFy[1:0] (Port x configuration bits) 是用來配置對應的 I/O 口的工作模式的。具體的配置取決于 MODEy[1:0] 的設置:

    • MODEy[1:0]=00 (輸入模式) 時:
      • 00: 模擬模式
      • 01: 浮空輸入(復位狀態)
      • 10: 帶上拉/下拉的輸入
      • 11: 保留
    • MODEy[1:0] > 00 (輸出模式) 時:
      • 00: 通用推挽輸出
      • 01: 通用開漏輸出
      • 10: 復用推挽輸出
      • 11: 復用開漏輸出
  • MODEy[1:0] (Port x mode bits) 是用來配置對應的 I/O 口的工作速率的:

    • 00: 輸入模式(復位狀態)
    • 01: 輸出模式,最大速度 10 MHz
    • 10: 輸出模式,最大速度 2 MHz
    • 11: 輸出模式,最大速度 50 MHz

設置引腳高低電平寄存器

這里可以設置某一組的高低電平,我們可以先讀出來,然后修改,再寫入,這樣就可以設置對應的高低電平了:
在這里插入圖片描述
這樣是比較低效的,STM32他提供了set/reset寄存器:
在這里插入圖片描述
其中BSy就是設置,BRy清除

我們通過設置他們為1還是0就可以控制他們是有效還是無效

尋找寄存器地址

在這里插入圖片描述
在這里插入圖片描述
比如以RCC APB2地址為例子:
RCC為0x4002 1000為基地址,再+0x18為他的完整地址


總結

通過本文,我們了解了如何使用STM32的ARM架構操作寄存器來控制LED。雖然這只是STM32強大功能的冰山一角,但是通過掌握這些基礎知識,我們可以進一步探索STM32的其他功能,如串口通信、定時器控制等。希望本文能為你在STM32編程的道路上提供一些幫助和啟發。在實際應用中,你可能需要根據具體的硬件設備和需求進行一些調整和優化。

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

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

相關文章

Groovy vs Kotlin 在Gradle配置文件中的差異與選擇

人不走空 🌈個人主頁:人不走空 💖系列專欄:算法專題 ?詩詞歌賦:斯是陋室,惟吾德馨 目錄 🌈個人主頁:人不走空 💖系列專欄:算法專題 ?詩詞歌…

beyond Compare連接 openWrt 和 VsCode

連接步驟總結 1. 新建會話 -> 文件夾比較 2.點擊瀏覽文件夾 3.在彈出頁面 配置 ftp 3.1)選中ftp 配置文件 3.2)選中ssh2 3.3)填寫我們需要遠端連接的主機信息 先點擊連接并瀏覽 得到下方文件夾 彈出無效登錄,說明需要密碼 我們返回右鍵剛剛創建的新 …

C++ | Leetcode C++題解之第227題基本計算器II

題目&#xff1a; 題解&#xff1a; class Solution { public:int calculate(string s) {vector<int> stk;char preSign ;int num 0;int n s.length();for (int i 0; i < n; i) {if (isdigit(s[i])) {num num * 10 int(s[i] - 0);}if (!isdigit(s[i]) &&am…

【智能制造-14】機器視覺軟件

CCD相機和COMS相機? CCD&#xff08;Charge-Coupled Device&#xff09;相機和CMOS&#xff08;Complementary Metal-Oxide-Semiconductor&#xff09;相機是兩種常見的數字圖像傳感器技術&#xff0c;用于捕捉和處理圖像。 CCD相機&#xff1a; CCD相機使用一種稱為CCD的光電…

北方論叢期刊

《北方論叢》投稿指南 為適應學術期刊文獻信息傳播現代化的需要&#xff0c;全面提高期刊質量&#xff0c;擴大學術交流&#xff0c;根據《中國學術期刊(光盤版)檢索與評價數據規范》《中國高等學校社會科學學報編排規范》以及其他國家標準和法規文件&#xff0c;并結合《北方論…

如何用webpack來優化前端性能?

Webpack 是一個現代 JavaScript 應用程序的靜態模塊打包器(module bundler)。它通過分析你的項目結構&#xff0c;找到 JavaScript 模塊以及其它的一些瀏覽器不能直接運行的拓展語言&#xff08;如SCSS, TypeScript等&#xff09;&#xff0c;并將其轉換和打包為合適的格式供瀏…

數據分析入門指南:表結構數據(三)

在數字化轉型的浪潮中&#xff0c;表結構數據作為企業決策支持系統的核心要素&#xff0c;其重要性日益凸顯。本文深入剖析了表結構數據的本質特征、高效處理策略&#xff0c;并探討了其在現代商業智能環境中的廣泛應用&#xff0c;旨在為數據分析師與決策者提供前沿洞察與實戰…

人工智能算法工程師(中級)課程3-sklearn機器學習之數據處理與代碼詳解

大家好&#xff0c;我是微學AI,今天給大家分享一下人工智能算法工程師(中級)課程3-sklearn機器學習之數據處理與代碼詳解。 Sklearn&#xff08;Scikit-learn&#xff09;是一個基于Python的開源機器學習庫&#xff0c;它提供了簡單有效的數據挖掘和數據分析工具。Sklearn包含了…

華為HCIP Datacom H12-821 卷34

1.單選題 防火墻默認已經創建了一些安全區域,以下哪一個安全區域不是防火墻上默認存在的? A、Trust B、DMZ C、Internet D、Local 正確答案&#xff1a; C 解析&#xff1a; 防火墻默認情況下為我們提供了三個安全區域&#xff0c;分別是 Trust、DMZ和Untrust 2.判斷題 …

電腦快捷鍵:提升效率的秘密武器

在現代社會中&#xff0c;電腦已經成為我們生活中不可或缺的工具。然而&#xff0c;要想充分利用電腦的功能&#xff0c;熟練掌握一些快捷鍵是必不可少的。本文將為您介紹一些常用的電腦快捷鍵&#xff0c;幫助您提高工作效率&#xff0c;節省寶貴的時間。 Windows 系統快捷鍵 …

【國產開源可視化引擎Meta2d.js】鷹眼地圖

鷹眼地圖 畫布右下角彈出一個縮略導航地圖&#xff0c;鼠標點擊可以跳到指定位置。 在線體驗&#xff1a; 樂吾樂2D可視化 示例&#xff1a; // 顯示縮略地圖 meta2d.showMap();// 關閉縮略地圖 meta2d.hideMap();

樹形結構的一種便捷實現方案

背景 在開發過程中經常需要把平鋪的數據結構轉為樹形的數據結構&#xff0c;例如多級菜單、組織機構等。 實現方案有很多種。 1、可以使用遞歸查詢&#xff0c;但是這樣數據一多會導致頻繁的多次查詢數據庫&#xff0c;產生很多額外的IO開銷&#xff0c;總體的響應時間會比較…

【uniapp微信小程序】uniapp微信小程序——頁面通信

uniapp微信小程序——頁面通信 在開發微信小程序過程中&#xff0c;頁面之間的通信是一個常見需求。在使用 uniapp 開發微信小程序時&#xff0c;我們可以采用多種方式實現頁面之間的數據傳遞和狀態共享。本文將詳細介紹幾種常見的實現方式&#xff0c;以供開發者參考。 1. 頁…

谷歌內置AI部署

感謝閱讀 準備工作開啟功能查看下載情況安裝插件效果截圖網頁版地址&#xff08;需進行前面的所有步驟&#xff09; 準備工作 點我下載谷歌dev版本 注意這個版本不需要卸載之前版本 開啟功能 使用下載的瀏覽器依次導航到下面兩個地方&#xff0c;然后點擊enablebypass以及en…

自動優化:SQL Server數據庫自動收縮配置指南

自動優化&#xff1a;SQL Server數據庫自動收縮配置指南 在數據庫管理中&#xff0c;隨著數據的增刪&#xff0c;數據庫文件的大小會不斷變化&#xff0c;導致空間浪費和性能下降。SQL Server提供了自動收縮功能&#xff0c;幫助數據庫文件保持最佳狀態。本文將深入探討如何在…

2025最新付費進群系統源碼 修復版

2025最新付費進群系統 修復一堆bug 修復分銷無法添加 易支付只能在文件里更改等等問題 源碼下載&#xff1a;https://download.csdn.net/download/m0_66047725/89515782 更多資源下載&#xff1a;關注我。

【結構型模式-代理模式】

概述 由于某些原因需要給某對象提供一個代理以控制該對象的訪問。這時&#xff0c;訪問對象不適合或者不能直接引用目標對象&#xff0c;代理對象作為訪問對象與目標對象之間的中介。 Java中的代理按照代理類生成時機不同又分為靜態代理和動態代理。靜態代理代理類在編譯期就生…

情感分析新紀元:Transformer模型的革命性應用

情感分析新紀元&#xff1a;Transformer模型的革命性應用 情感分析&#xff0c;又稱為意見挖掘&#xff0c;是自然語言處理&#xff08;NLP&#xff09;領域中的一項重要任務&#xff0c;它旨在從文本數據中識別和提取主觀信息&#xff0c;判斷文本所表達的情感傾向&#xff0…

MACOS查看硬盤讀寫量

一、安裝Homebrew 按照提示進行安裝 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"二、安裝smartmontools brew install smartmontools三、查看硬盤讀寫量等信息 sudo smartctl -a /dev/disk0

WPF 制作一個文字漂浮提示框

WPF好像沒有自帶的文字提示漂浮&#xff0c;我們可以定制一個。 效果如下&#xff1a; xaml xaml如下&#xff1a; <Window x:Class"GroupServer.MsgTip"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sc…