stm32總共多少個(gè)寄存器 用STM32只會(huì)庫(kù)函數(shù),不會(huì)用寄存器,有影響嗎?
用STM32只會(huì)庫(kù)函數(shù),不會(huì)用寄存器,有影響嗎?不會(huì)配置STM32寄存器,但會(huì)使用官方庫(kù)函數(shù),不影響STM32單片機(jī)的使用。STM32單片機(jī)在編程時(shí)可以采用配置寄存器和庫(kù)函數(shù)的方式。這兩種方式都可以操
用STM32只會(huì)庫(kù)函數(shù),不會(huì)用寄存器,有影響嗎?
不會(huì)配置STM32寄存器,但會(huì)使用官方庫(kù)函數(shù),不影響STM32單片機(jī)的使用。STM32單片機(jī)在編程時(shí)可以采用配置寄存器和庫(kù)函數(shù)的方式。這兩種方式都可以操作STM32單片機(jī)。
熟悉51單片機(jī)的朋友,都知道在編寫程序時(shí),需要配置51單片機(jī)寄存器。單片機(jī)擁有大量的片上資源,而要使片上資源正常工作,需要配置相應(yīng)的寄存器。例如,單片機(jī)的定時(shí)器資源,在配置定時(shí)器相關(guān)寄存器時(shí),主要是配置定時(shí)器的工作模式、位數(shù)、是否使用定時(shí)中斷、配置初始值等,并向STM32單片機(jī)、廠家直接提供官方庫(kù)功能。這些庫(kù)函數(shù)的功能實(shí)際上是封裝寄存器配置過(guò)程。編程時(shí),用戶不需要直接處理寄存器,只需調(diào)用相應(yīng)的庫(kù)函數(shù)即可。這樣,寄存器的配置過(guò)程就可以分離,實(shí)現(xiàn)了硬件層和軟件層的簡(jiǎn)單分離,實(shí)際上就是驅(qū)動(dòng)程序的作用。
STM32還具有Hal庫(kù)。即使使用庫(kù)函數(shù)編程,也建議您研究寄存器。
因此,無(wú)論是使用庫(kù)函數(shù),還是直接配置寄存器都能操作MCU。
stm32單片機(jī)編程用庫(kù)函數(shù)好還是寄存器好?
這個(gè)問(wèn)題來(lái)自兩個(gè)方面:如果你想快速開(kāi)發(fā)項(xiàng)目,那么使用庫(kù)函數(shù)開(kāi)發(fā);如果你想學(xué)習(xí)單片機(jī)原理,那么使用寄存器開(kāi)發(fā)。
1、就開(kāi)發(fā)時(shí)間的速度而言,使用庫(kù)函數(shù)
現(xiàn)在一個(gè)公司在開(kāi)發(fā)一個(gè)項(xiàng)目的時(shí)候,對(duì)時(shí)間進(jìn)度會(huì)有很高的要求。一般來(lái)說(shuō),這將需要快速有效地制造產(chǎn)品。不管你用哪種方式,只要你保證產(chǎn)品的質(zhì)量。在這種情況下,我們必須找到一種快速開(kāi)發(fā)的方法,而庫(kù)函數(shù)就是為此而創(chuàng)建的。為了幫助產(chǎn)品工程師降低開(kāi)發(fā)難度,加快開(kāi)發(fā)進(jìn)度,芯片公司推出了多種庫(kù)函數(shù)。這些庫(kù)函數(shù)由專業(yè)程序員編寫,經(jīng)過(guò)芯片廠商反復(fù)驗(yàn)證,代碼穩(wěn)定性、規(guī)范性和正確性都很好,可以直接使用。
當(dāng)然,庫(kù)函數(shù)也有一些缺陷,比如增加了代碼量,影響了程序的速度,但是現(xiàn)在STM32 MCU的程序空間一般都足夠大,每個(gè)系列都有可以互換的針對(duì)針型號(hào)。如果程序空間不夠,直接用更大的程序空間替換另一個(gè)pin兼容的,而且程序可以直接移植過(guò)來(lái),幾乎不需要修改。
2、如果想了解單片機(jī)的工作原理,真正了解STM32的內(nèi)部結(jié)構(gòu)、工作過(guò)程和底層配置,當(dāng)然可以選擇寄存器進(jìn)行開(kāi)發(fā)。
使用寄存器開(kāi)發(fā),可以直接接觸底層,使用寄存器可以減少代碼量,提高程序速度。