stm32 用庫函式操作和暫存器操作

時間 2021-09-11 22:25:36

1樓:匿名使用者

首先,兩個都是c語言。

從51過渡過來的話,就先說暫存器操作。每個mcu都有自己的暫存器,51是功能比較簡單的一種,相應的暫存器也比較少,我們常用的就那麼幾個,像p0 p1 smod tmod之類的,這些存在於標準標頭檔案reg.h裡面,因為少,所以大家就直接這麼去操作了,每一位對應的意義隨便翻一下手冊就看得到,甚至做幾個小專案就記的很清楚了。

所以做51開發的時候大多數都是直接操作暫存器。

到了stm32,原理一樣,也是有自己的暫存器,但是作為一款arm核心的晶片,功能多了非常多,暫存器自然也就多了很多,stm32的手冊有一千多頁,這時候想去像51那樣記住每個暫存器已經不現實了,所以st的工程師就給大家提供了庫函式這麼一個東西。

這是個神器。

庫函式裡面把stm32的所有暫存器用結構體一一對應並且封裝起來,而且提供了基本的配置函式。我們要去操作配置某個外設的時候不需要再去翻眼花繚亂的資料手冊,直接找到庫函式描述拿來就可以用,這樣就能把精力放在邏輯**的開發上,而不是去費力的研究一個晶片的外設要怎麼配置暫存器才能驅動起來。

簡單講就是這些了,庫函式是為了讓開發者從大量繁瑣的暫存器操作中脫離出來的一個檔案包,在使用一個外設的時候讓開發者直接去呼叫相應的驅動函式而不是自己去翻手冊一個一個配置暫存器。

有人說用庫函式掌握不到晶片的精髓,見仁見智了。熟悉一款晶片是在不斷的開發使用中逐漸瞭解並掌握的,除錯的過程中會遇到很多問題,會要求我們去跟蹤相關暫存器的狀態,在整個框架都已經建立起來的基礎上再去對照手冊做具體到暫存器每一位的分析,**對照現象,很快就能積累起來經驗,祝成功。

2樓:肥肥的爆米花

暫存器操作:51就是暫存器操作,你用51需要自己寫驅動。stm32如果不用庫也是跟51一樣直接操作暫存器的。

庫函式操作:stm32的庫已經幫你把驅動寫好了,你要做的只是配置引數,然後使能。

暫存器的優缺點:速度快,但是可讀性差,你要改動配置需要去查晶片手冊。

庫函式的優缺點:速度慢,但是可讀性強,用gpio_pin_5這類可讀性強的英文字母,去替代0x0101這類可讀性差的數字。

stm32微控制器spi問題,STM32微控制器SPI問題

才慕悅臧優 基本的底層驅動都是有的,如果使用到某個感測器,而網上一時還沒有對應的驅動庫,可以自己根據感測器的手冊編寫對應的驅動 和spi口的cs sck sdi sdo是怎麼對應的 這是你從裝置上的標識吧。一般接線為 左邊主裝置,右邊從裝置 spix nss cs spix sck sck spix...

stm32f767採用什麼核心,stm32f767可以達到多快的速度?

雌高中生酶 我也沒學過核心,一樣能控制stm32。但是,沒有這些知識,你只會執行主管的要求,卻很難做到設計。想進一步提高,必須要學習這些基礎知識。這些我遲早也要花時間去了解下的。stm32f767可以達到多快的速度? 核心可以達到216mhz 長瀨綿秋 32的用原子的可以,隨便選擇一款,微控制器用吳...

stm32f103系列效能如何,STM32F103字尾名不同,其功效有什麼區別?

西西哩的小馬甲 優點如下 1 stm32屬於arm核心的一個版本,比傳統的51微控制器高階多了,有很多資源是51不具備的,如usb控制器。而且已經廢除了機器週期什麼的,速度不是51能比的。2 stm32微控制器程式都是模組化的,介面相對簡單些,因為它自身帶好多功能,工作速度也快。而51的自身功能少,...