標(biāo)準(zhǔn)庫函數(shù)有哪些 用STM32只會(huì)庫函數(shù),不會(huì)用寄存器,有影響嗎?
用STM32只會(huì)庫函數(shù),不會(huì)用寄存器,有影響嗎?不會(huì)配置STM32寄存器,但會(huì)使用官方庫函數(shù),不影響STM32單片機(jī)的使用。STM32單片機(jī)在編程時(shí)可以采用配置寄存器和庫函數(shù)的方式。這兩種方式都可以操
用STM32只會(huì)庫函數(shù),不會(huì)用寄存器,有影響嗎?
不會(huì)配置STM32寄存器,但會(huì)使用官方庫函數(shù),不影響STM32單片機(jī)的使用。STM32單片機(jī)在編程時(shí)可以采用配置寄存器和庫函數(shù)的方式。這兩種方式都可以操作STM32單片機(jī)。
熟悉51單片機(jī)的朋友,都知道在編寫程序時(shí),需要配置51單片機(jī)寄存器。單片機(jī)擁有大量的片上資源,而要使片上資源正常工作,需要配置相應(yīng)的寄存器。例如,單片機(jī)的定時(shí)器資源,在配置定時(shí)器相關(guān)寄存器時(shí),主要是配置定時(shí)器的工作模式、位數(shù)、是否使用定時(shí)中斷、配置初始值等,并向STM32單片機(jī)、廠家直接提供官方庫功能。這些庫函數(shù)的功能實(shí)際上是封裝寄存器配置過程。編程時(shí),用戶不需要直接處理寄存器,只需調(diào)用相應(yīng)的庫函數(shù)即可。這樣,寄存器的配置過程就可以分離,實(shí)現(xiàn)了硬件層和軟件層的簡(jiǎn)單分離,實(shí)際上就是驅(qū)動(dòng)程序的作用。
STM32還具有Hal庫。即使使用庫函數(shù)編程,也建議您研究寄存器。
因此,無論是使用庫函數(shù),還是直接配置寄存器都能操作MCU。
庫函數(shù)和系統(tǒng)調(diào)用的區(qū)別?
系統(tǒng)調(diào)用是內(nèi)核向用戶層提供的接口。比如讀寫。仔細(xì)觀察這些系統(tǒng)調(diào)用可以發(fā)現(xiàn),當(dāng)內(nèi)核實(shí)現(xiàn)它們時(shí),它有一個(gè)同名的do函數(shù)。換句話說,系統(tǒng)調(diào)用中仍然有一些底層函數(shù)。庫函數(shù)是用戶自己編寫的接口或api。比如libc。比如FREAD、fwrite等,看一下庫函數(shù)的實(shí)現(xiàn),它們一般都是對(duì)系統(tǒng)調(diào)用的重新封裝。在freead中調(diào)用read。