從零開始學習單片機16

STM32單片機

STM32和51單片機的區別

51單片機的外設資源少,寄存器少,運行速度慢,價格便宜,容易上手

STM32單片機的外設資源更多,寄存器多,運行速度相對快,價格相對貴,上手相對較難

STM32的寄存器寄存器非常多,更復雜,一般用庫函數進行編程,也就是API接口,這是與51單片機編程時最大的區別

寄存器編程與庫函數編程:

寄存器編程是直接操作寄存器的編程

庫函數編程相當于是間接的寄存器編程,就是把寄存器的參數和配置封裝成函數,可以調用函數進行外設初始化,廠家封裝提供好的,只需要去操作廠家提供的函數,去初始化對應的一些外設,就可以完成對芯片的一些資源的使用

寄存器編程(直接對寄存器進行操作,是最接近底層的編程方式,也是運行效率最高的)

庫函數編程(代碼更好維護,開發過程更快,可移植能力強)

ST提供的3種庫函數編程方式:標準庫、HAL庫、LL庫

其中標準庫是最早的,已經停止維護了,現在更多使用HAL庫,LL庫的效率更高,在特殊情況下使用,CubeMX現在里面只有HAL庫和LL庫

HAL庫的優點:

最大可移植性

2.提供了一整套一致的中間件組件,如RTOS,USB,TCP/IP和圖形等

3.通用的用戶友好的API函數接口

4.HAL庫已經支持STM32全線產品

學習STM32所需要軟件:

Keil MDK用于編寫代碼,編譯代碼(與之前51單片機用的不同)

STM32CubeMX用于自動生成工程,減少手動重復工作

vscode用于更高效地編寫代碼

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

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

相關文章

[特殊字符]論一個 bug 如何經過千難萬險占領線上

謹以此文獻給每一個曾與 Bug 搏斗、最終卻目睹它成功上線的你 本文旨在揭露 Bug 的狡猾,絕非鼓勵以下行為。若你照做,后果自負🐶每一個在線上逍遙法外的 Bug,都不是偶然。它是一場精心策劃的奇跡,是開發、聯調、測試、…

Day12-python文件操作(二)

目錄前言一、Excel文檔操作1.1、xlrd和xlwt庫1.2、openpyxl庫1.3、pandas庫總結前言 今天繼續學習文件操作相關內容,為后續辦公自動化打基礎。 一、Excel文檔操作 1.1、xlrd和xlwt庫 如果要兼容 Excel 2007 以前的版本,也就是xls格式的 Excel 文件&am…

CollageIt:簡單易用的照片拼貼工具

在數字圖像處理領域,制作照片拼貼是一種常見的創意表達方式。CollageIt作為一款體積小巧、簡單易用的照片拼貼工具,能夠幫助用戶輕松將多張圖片拼合成一張精美的拼貼畫。它不僅操作簡單,還支持多種圖片格式,確保用戶可以快速制作出…

Java全棧工程師的實戰面試:從基礎到微服務的全面解析

Java全棧工程師的實戰面試:從基礎到微服務的全面解析 一、開場介紹 面試官:你好,歡迎來到我們公司。我是今天的面試官,負責技術部分的評估。請先簡單介紹一下你自己。 應聘者:您好,我叫李明,25歲…

驅動開發系列68 - GLSL編譯器實現 - 算數指令折疊及訪存優化

一 : 指令合并概述 指令折疊的意思,原本一個語句會產生多條指令,通過折疊,可以刪除一些中間指令,減少指令數量,并且能夠減少寄存器占用。提高執行效率。 舉一個例子: MUL A, B, 4 ; A = B * 4MAD D, A, 2, F ; D = A * 2 + F MAD G, A, 3, I ; G …

深入解析Qt節點編輯器框架:高級特性與性能優化(四)

文章目錄一、高級交互特性:超越基礎操作的用戶體驗提升1. 節點組管理:折疊與嵌套的層級組織2. 智能連接線路由:避免交叉與視覺混亂3. 批量操作與快捷鍵:提升操作效率二、性能優化:應對大規模節點場景的核心策略1. 圖形…

Python 入門操作指南

引言 Python 是一種簡單易學卻功能強大的編程語言,廣泛應用于數據分析、人工智能、Web 開發等領域。對于初學者而言,掌握 Python 的入門操作是邁向編程世界的第一步。本文將以總分總的結構,系統介紹 Python 的安裝方法、推薦的開發工具、第一個 Python 程序示例,以及包管理…

ZooKeeper 安裝配置

前言 有時會需要安裝開源的大數據集群進行測評或者驗證問題,已經裝過很多遍了,所以想系統的總結整理一下各個組件的安裝部署,包括 Zookeeper、Hadoop、Hive、Spark 等。 版本 Zookeeper 3.5.6 3.8.4 3.9.3 初始化 包括主機名修改、SSH互…

考研數據結構Part3——二叉樹知識點總結

一、前言 二叉樹是一種特殊的樹形結構,每個節點最多有兩個子節點,分別稱為左子樹和右子樹。其特點是子樹有嚴格的左右之分,順序不可顛倒。從歷年真題來看,二叉樹的鏈式存儲實現、遍歷算法、屬性統計是高頻考點,常以選擇…

網絡與信息安全有哪些崗位:(12)威脅分析師

今天是七夕節,首先祝大家早遇良緣、有情人終成眷屬!!七夕節快樂、工作順利、學業有成~~ 想知道網絡與信息安全領域有哪些具體崗位嗎?此前我們已陸續介紹網絡安全工程師、滲透測試工程師、SOC 總監、SOC 工具運維工程師等核心角色&…

mysql雙機熱備(主主模式)

一、環境準備 主機名ip操作系統備注node01192.168.48.91CentOS Linux 7 (Core)mysql主庫node01192.168.48.92CentOS Linux 7 (Core)mysql主庫192.168.48.90漂移IP(VIP) centos7鏡像下載地址: https://mirrors.aliyun.com/centos/7.9.2009/…

微積分 | 積分代換

注:本文為 “微積分 | 積分代換法 ” 相關合輯。 英文引文,機翻未校, 中文引文,略作重排。 未去重,如有內容異常,請看原文。 Integration by Substitution 積分代換法 May 23, 2018 / By Dave Peterson …

循環高級(1)

1.無限循環2.break3.coutinue4.練習1 打印矩形&#xff08;循環嵌套&#xff09;5.練習2 打印直角三角形#include<stdio.h> int main() {/*打印一個5行5列的三角形效果如下&#xff1a;***** ***** ***** ***** *****…

vpp開啟nat,分片包丟包問題分析與解決

現象描述兩個網口都開啟nat output-feature&#xff0c;路由模式進行大包轉發&#xff0c;網絡不同&#xff0c;小包轉發沒問題。通過trace發現&#xff0c;在nat44-ed-in2out-output-slowpath節點丟包。Packet 503:50:43:447292: handoff_traceHANDED-OFF: from thread 2 trac…

深入解析交換機端口安全:Sticky MAC的工作原理與應用實踐

深入解析交換機端口安全&#xff1a;Sticky MAC的工作原理與應用實踐在當今企業網絡環境中&#xff0c;未授權設備接入是常見的安全威脅之一&#xff0c;而Sticky MAC技術正是解決這一問題的利器。在網絡安全管理中&#xff0c;端口安全是保護網絡基礎設施的第一道防線。Sticky…

AI接管瀏覽器:Anthropic發布Claude for Chrome,是效率革命還是安全噩夢?

AI智能體&#xff08;Agent&#xff09;的競賽&#xff0c;正在以超乎想象的速度進入白熱化階段。 就在上個月&#xff0c;OpenAI剛剛憑借ChatGPT Agent&#xff0c;向世界展示了AI在云端遠程操作電腦、制作PPT的強大能力。而現在&#xff0c;它的老對手Anthropic&#xff0c;…

LFI-labs靶場通關教程

目錄 CMD01-06 pass01 pass02 pass03 pass04 pass05 pass06 HDR-1 hdr-1 LFI-01-14 pass01 pass02 pass03 pass04 pass05 pass06 pass07 pass08 pass09 pass10 pass11 pass12 pass13 pass14 CMD01-06 pass01 看看源碼, 這里顯示的是一個get參數cmd,并…

隨機森林的 “Bootstrap 采樣” 與 “特征隨機選擇”:如何避免過擬合?(附分類 / 回歸任務實戰)

隨機森林的 “Bootstrap 采樣” 與 “特征隨機選擇”&#xff1a;如何避免過擬合&#xff1f;&#xff08;附分類 / 回歸任務實戰&#xff09; 第一部分&#xff1a;揭開隨機森林的神秘面紗 1.1 告別“過擬合”&#xff0c;擁抱更強大的模型 在機器學習的旅程中&#xff0c;…

Java開發 - 緩存

一、RedisUtil封裝package com.qj.redis.util;import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.Set; import java.util.…

光伏發多少電才夠用?匹配家庭用電需求

在“雙碳”目標推動下&#xff0c;新能源產業迎來爆發式增長&#xff0c;家庭屋頂光伏憑借清潔環保、能降低電費的優勢&#xff0c;成為越來越多家庭的選擇。但很多家庭在安裝前都會陷入一個核心困惑&#xff1a;到底裝多大容量的光伏系統&#xff0c;發多少電才能剛好滿足自家…