【【萌新的STM32學習-8】】

萌新的STM32學習-8

STM32CubeMX 是由 ST 公司開發的圖形化代碼自動生成工具,能夠快速生成初始化代碼,
如配置 GPIO,時鐘樹,中間件等,使用戶專注于業務代碼的開發。現在 ST 主推 HAL 庫代碼,
經典的標準外設庫已經停止維護了,新產品也只提供 HAL 庫的代碼,因此,我們學習 HAL 庫
是更加有優勢的,由于 HAL 庫具有低耦合、通用、抽象了硬件層,使得開發者無需太過關注硬
件驅動的實現,使得開發更加的簡單快速,更容易維護,因此被越來越多的產品所使用。

通過上一步安裝固件庫后,我們就可以使用 STM32CubeMX 配置工程,步驟如下:

  1. 工程初步建立
  2. HSE 和 LSE 時鐘源設置
  3. 時鐘系統(時鐘樹)配置
  4. GPIO 功能引腳配置
  5. 配置 Debug 選項
  6. 生成工程源碼
  7. 用戶程序

在這里插入圖片描述
這左邊是外部時鐘晶振
這右邊這塊是(外部)輸入源時鐘信號
在這里插入圖片描述
這兩個是內部時鐘信號源

2 個外部時鐘源:? 高速外部振蕩器 HSE (High Speed External Clock signal)
外接石英/陶瓷諧振器,頻率為 4MHz~16MHz。本開發板使用的是 8MHz。
? 低速外部振蕩器 LSE (Low Speed External Clock signal)
外接 32.768kHz 石英晶體,主要作用于 RTC 的時鐘源。
(2)2 個內部時鐘源:
? 高速內部振蕩器 HSI(High Speed Internal Clock signal)
由內部 RC 振蕩器產生,頻率為 8MHz。
? 低速內部振蕩器 LSI(Low Speed Internal Clock signal)
由內部 RC 振蕩器產生,頻率為 40kHz,可作為獨立看門狗的時鐘源。
芯片上電時默認由內部的 HSI 時鐘啟動,如果用戶進行了硬件和軟件的配置,芯片才會根
據用戶配置調試嘗試切換到對應的外部時鐘源,所以同時了解這幾個時鐘源信號還是很有必要
的。如何設置時鐘的方法我們會在后文提到。

在正點原子一般HSE接的是8MHz
因為我們從上面了解到經過HSE 以及HSI 才能達到 內部的頻率 SYSCLK 是72MHz 但是我們怎樣才能達到這個頻率呢 我們需要經過一個鎖相環PLL達到72MHz 倍乘
在這里插入圖片描述

因為HSI是8MHz 進來先經過了一個二分頻就變成了4 HSE有2分頻 和1分頻 用內部4乘16=64 也滿足不了所需要的72MHz 所以基本上我們用的是外部 的HSE 8x9=72
經過SYSCLK 之后來到了HCLK HCLK其實就是我們的AHB高性能總線 從SYSCLK過來要經過一個分頻
來到HCLK之后 會經過2個橋 一個來到APB1 另一個來到APB2
APB1 最大是36M APB2 最大是72M
除了AHB總線之外那么HCLK總線上還會掛載一些外設 和 內核
繼而會從APB1 和APB2 各引出一個外設

上面講述的是高速的部分 接下來敘述一下低速的部分
LSI 與 LSE
LSI是40MHz LSE是 32.768MHz

LSI可以作為IWDG 和 RTC的時鐘源
LSE 只作為RTC的時鐘源

一些簡單的注意事項
由于外部的時鐘源振蕩器用的是晶體/陶瓷結構 而內部一般來說用的是RC 所以 我們大多會選用外部

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

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

相關文章

數據治理有哪些產品

數據治理是現代企業管理中至關重要的一個環節。隨著企業的數據量不斷增長,如何有效地管理和利用數據成為了一個亟待解決的問題。幸運的是,市場上已經涌現出了許多優秀的數據治理產品,下面就來介紹一些常見的數據治理產品。 首先,我…

配置使用Gitee賬號認證登錄Grafana

三方社會化身份源 集成gitee第三方登錄 第三方登錄的原理 所謂第三方登錄,實質就是 OAuth 授權。用戶想要登錄 A 網站,A 網站讓用戶提供第三方網站的數據,證明自己的身份。獲取第三方網站的身份數據,就需要 OAuth 授權。 舉例來…

Redis中的Key是否在過期時間到達后立即被刪除?詳解Redis的過期策略

AIGC最全資料包 https://zkk-1300025204.cos.ap-nanjing.myqcloud.com/%E5%8F%B2%E4%B8%8A%E6%9C%80%E5%85%A8StableDiffusion%E8%B5%84%E6%96%99%E5%8C%85.csv作者:zhaokk 在現代軟件開發中,性能和數據存儲是至關重要的。為了在高并發環境下提供快速的…

時序預測 | MATLAB實現基于CNN-GRU卷積門控循環單元的時間序列預測-遞歸預測未來(多指標評價)

時序預測 | MATLAB實現基于CNN-GRU卷積門控循環單元的時間序列預測-遞歸預測未來(多指標評價) 目錄 時序預測 | MATLAB實現基于CNN-GRU卷積門控循環單元的時間序列預測-遞歸預測未來(多指標評價)預測結果基本介紹程序設計參考資料 預測結果 基本介紹 MATLAB實現基于CNN-GRU卷積…

qrcode.react生成二維碼

qrcode.react 是一個**用于生成二維碼(QR 碼)的 React 組件庫。**它提供了一個 React 組件,可以輕松地在 React 應用程序中生成和顯示 QR 碼。 使用 qrcode.react,可以以聲明式的方式在 React 組件中定義 QR 碼的內容、尺寸、顏色…

分布式 - 消息隊列Kafka:Kafka 消費者的消費位移

文章目錄 01. Kafka 分區位移02. Kafka 消費位移03. kafka 消費位移的作用04. Kafka 消費位移的提交05. kafka 消費位移的存儲位置06. Kafka 消費位移與消費者提交的位移07. kafka 消費位移的提交時機08. Kafka 維護消費狀態跟蹤的方法 01. Kafka 分區位移 對于Kafka中的分區而…

sql server 存儲過程 set ansi_nulls set quoted_identifier,out 、output

SQL-92 標準要求在對空值(NULL) 進行等于 () 或不等于 (<>) 比較時取值為 FALSE。 當 SET ANSI_NULLS 為 ON 時&#xff0c;即使 column_name 中包含空值&#xff0c;使用 WHERE column_name NULL 的 SELECT 語句仍返回零行。即使 column_name 中包含非空值&#xff0c…

5G無人露天礦山解決方案

1、5G無人露天礦山解決方案背景 ①2010.10&#xff0c;國家安監總局《金屬非金屬地下礦山安全避險“六大系統”安裝使用和監督檢查暫行規定》 ②2016.03&#xff0c;國家發改委《能源技術革命創新行動計劃&#xff08;2016-2030&#xff09;》&#xff0c;2025 年重點煤礦區采…

每天一道leetcode:1192. 查找集群內的關鍵連接(圖論困難tarjan算法)

今日份題目&#xff1a; 力扣數據中心有 n 臺服務器&#xff0c;分別按從 0 到 n-1 的方式進行了編號。它們之間以 服務器到服務器 的形式相互連接組成了一個內部集群&#xff0c;連接是無向的。用 connections 表示集群網絡&#xff0c;connections[i] [a, b] 表示服務器 a …

Quivr 基于GPT和開源LLMs構建本地知識庫 (更新篇)

一、前言 自從大模型被炒的越來越火之后&#xff0c;似乎國內涌現出很多希望基于大模型構建本地知識庫的需求&#xff0c;大概在5月底的時候&#xff0c;當時Quivr發布了第一個0.0.1版本&#xff0c;第一個版本僅僅只是使用LangChain技術結合OpenAI的GPT模型實現了一個最基本的…

升級STM32電機PID速度閉環編程:從F1到F4的移植技巧與實例解析

引言&#xff1a; 在嵌入式系統開發中&#xff0c;STM32系列微控制器廣泛應用于各種應用領域。而對于直流有刷電機的控制&#xff0c;PID速度閉環是一種常用的控制方式。本文將以此為例&#xff0c;探討如何從STM32F1系列移植到STM32F4系列&#xff0c;并詳細介紹HAL庫在不同型…

Python學習筆記_基礎篇(十)_socket編程

本章內容 1、socket 2、IO多路復用 3、socketserver Socket socket起源于Unix&#xff0c;而Unix/Linux基本哲學之一就是“一切皆文件”&#xff0c;對于文件用【打開】【讀寫】【關閉】模式來操作。socket就是該模式的一個實現&#xff0c;socket即是一種特殊的文件&…

spring boot 簡單整合 Redis

1.添加依賴<!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- commons-pool2 --><dependency><groupId>org.ap…

Linux安裝Docker

一、Docker系統版本介紹 Docker 是一個開源的應用容器引擎&#xff0c;讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中&#xff0c;然后發布到任何流行的 Linux 或 Windows 操作系統的機器上&#xff0c;也可以實現虛擬化。 容器是完全使用沙箱機制&#xff0c;相…

誠邁科技榮膺小米“最佳供應商獎”

近日&#xff0c;誠邁科技受邀參加小米戰略合作伙伴HBR總結會。誠邁科技以盡職盡責的合作態度、精益求精的交付質量榮膺小米公司頒發的最佳供應商獎&#xff0c;其性能測試團隊榮獲優秀團隊獎。 誠邁科技與小米在手機終端方向一直保持著密切的合作關系&#xff0c;涉及系統框架…

centOS 快速安裝和配置 NVIDIA docker Container Toolkit

要在 CentOS 上正確安裝和配置 NVIDIA Container Toolkit&#xff0c;您可以按照以下步驟進行操作&#xff0c;如果1和2都已經完成&#xff0c;可以直接進行第3步NVIDIA Container Toolkit安裝配置。 1. 安裝 NVIDIA GPU 驅動程序&#xff1a; 您可以從 NVIDIA 官方網站下載適…

【Java基礎】Java對象的生命周期

【Java基礎】Java對象的生命周期 一、概述 一個類通過編譯器將一個Java文件編譯為Class字節碼文件&#xff0c;然后通過JVM中的解釋器編譯成不同操作系統的機器碼。雖然操作系統不同&#xff0c;但是基于解釋器的虛擬機是相同的。java類的生命周期就是指一個class文件加載到類…

Ubuntu安裝MySQL Server提示Depends: mysql-server-5.5怎么解決

在 Ubuntu 安裝 MySQL Server 時出現 Depends: mysql-server-5.5 的錯誤通常是因為系統中沒有找到所需的軟件包版本。這可能是因為軟件包源中沒有對應的版本或者軟件包版本沖突等原因。解決這個問題的方法如下&#xff1a; 更新軟件包列表&#xff1a; 在終端中運行以下命令&a…

python控制obs實現無縫切換場景!obs-websocket-py

前言 最近一直在研究孿生數字人wav2lip。目前成果可直接輸入高清嘴型&#xff0c;2070顯卡1分鐘音頻2.6分鐘輸出。在直播邏輯上可以做到1比1.3這樣&#xff0c;所以現在開始研究直播。在邏輯上涉及到了無縫切換&#xff0c;看到csdn上有一篇文章還要vip解鎖。。。那自己研究吧…

臨時用工小程序:一款便捷的用工管理軟件

隨著企業對人力資源需求的不斷增長&#xff0c;臨時用工需求也日益旺盛。為了滿足這一需求&#xff0c;我們研發了一款名為“臨時用工小程序”的軟件系統&#xff0c;旨在幫助企業實現臨時用工的高效管理。 一、技術棧介紹 后端技術棧 本系統采用Java語言作為開發語言&#…