日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年08月05日(星期二)

2019年08月05日 | STM32 HAL庫(kù)頭文件包含關(guān)系

發(fā)布者:QuantumPulse 來(lái)源: eefocus關(guān)鍵字:STM32  HAL庫(kù)  頭文件  包含關(guān)系 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

如圖,從左到右下的順序?qū)懀?p>

  --------------------------------------------------------------------------------------------------------------------------------


The header of the common HAL driver file(stm32f1xx_hal.h) includes the common


configurations for the whole HAL library.It is the only header file that is included in the user


sources and the HAL C sources files to beable to use the HAL resources.




stm32f1xx_hal.h


Thisfile contains all the functions prototypes for the HAL module driver.


這包含了HAL模型的所有驅(qū)動(dòng)


 


定義了關(guān)于調(diào)試所用的宏函數(shù)


#define__HAL_DBGMCU_FREEZE_TIM2()   


   SET_BIT(DBGMCU->CR,DBGMCU_CR_DBG_TIM2_STOP)


 


HAL的初始化與功能函數(shù)


HAL_Delay();


 


它包含的頭文件:#include"stm32f1xx_hal_conf.h"


 


 --------------------------------------------------------------------------------------------------------------------------------


stm32f1xx_hal_conf.h


 


包含了用戶可能會(huì)用到的外設(shè)模型頭文件Module Selection


#include"stm32f1xx_hal_rcc.h"


 


定義了單片機(jī)晶振頻率Oscillator Values adaptation


#defineHSE_VALUE    ((uint32_t)8000000)


 


系統(tǒng)的配置System Configuration


#define  VDD_VALUE                    ((uint32_t)3300) /*!

 


Assert參數(shù)檢查函數(shù)的定義


  #define assert_param(expr) ((expr) ? (void)0: assert_failed((uint8_t *)__FILE__, __LINE__))


 


它包含的頭文件:各種外設(shè)模型頭文件,如stm32f1xx_hal_adc.h等一堆。


 


 --------------------------------------------------------------------------------------------------------------------------------


stm32f1xx_hal_adc.h(舉adc這個(gè)外設(shè)頭文件)


相對(duì)應(yīng)的stm32f1xx_hal_adc_ex.h,是其對(duì)應(yīng)的擴(kuò)展功能的頭文件,差不多~


定義了外設(shè)初始化結(jié)構(gòu)體,還 有一堆其它的用于配置的結(jié)構(gòu)體


ADC_InitTypeDef


 


常用的常量Exported constants


#defineHAL_ADC_ERROR_NONE       ((uint32_t)0x00)   /*!< Noerror                                              


宏函數(shù)定義Exported macro


#defin__HAL_ADC_ENABLE(__HANDLE__)                                           


  (SET_BIT((__HANDLE__)->Instance->CR2,(ADC_CR2_ADON)))


各種輸出函數(shù)的聲明


HAL_StatusTypeDef       HAL_ADC_Init(ADC_HandleTypeDef* hadc);


 


它包含的頭文件:


"stm32f1xx_hal_def.h"


 "stm32f1xx_hal_adc_ex.h"


  --------------------------------------------------------------------------------------------------------------------------------


stm32f1xx_hal_def.h


Thisfile contains HAL common defines, enumeration, macros and  structures definitions.


這文件包含的是HAL庫(kù)共用的宏定義,結(jié)構(gòu)體,牧舉等。


HAL的狀態(tài)結(jié)構(gòu)體:


HAL_StatusTypeDef


它包含的頭文件:


#include "stm32f1xx.h"


#include "Legacy/stm32_hal_legacy.h"


  --------------------------------------------------------------------------------------------------------------------------------


 

stm32f103xe.h(舉F103的例子)包含了整個(gè)庫(kù)所共用的配置,這也是所有外設(shè)與用戶函數(shù)的頭文件所僅需要包含的頭文件。


它定義了:


所有外設(shè)寄存器ADC_TypeDef(struct),


所有中斷的編號(hào)IRQn_Type(enum),


外設(shè)的地址,


#define FLASH_BASE            ((uint32_t)0x08000000)


檢查參數(shù)用的宏函數(shù)


#define IS_ADC_ALL_INSTANCE(INSTANCE)(((INSTANCE) == ADC1) ||


                                      ((INSTANCE) == ADC2) ||


                                       ((INSTANCE) == ADC3))


外設(shè)中斷函數(shù)名


#define ADC1_IRQn                 ADC1_2_IRQn



它包含的頭文件包括:


#include"core_cm3.h"   M3的內(nèi)核文件


#include"system_stm32f1xx.h"  單片機(jī)的系統(tǒng)初始化


#include         關(guān)于int的聲明~


  --------------------------------------------------------------------------------------------------------------------------------


頭文件的包含關(guān)系完全與圖相同,根據(jù)這個(gè)關(guān)系可以看出來(lái),當(dāng)使用cube配置或更改外設(shè)時(shí),stm32f1xx_hal_conf.h改變,會(huì)增減一些外設(shè)頭文件,這就導(dǎo)致大部分文件需要重新編譯,時(shí)間有點(diǎn)長(zhǎng)。。。。。。


以生成的dac.c/.h這文件舉例,.h已經(jīng)生成了extern DAC_HandleTypeDef hdac ,給外部文件提供接口,只要有包含dac.h就可以直接使用hdac。


cube工程生成的設(shè)置里,有個(gè)選項(xiàng)是用于是否更刪用戶外設(shè).c/.h,要注意自己寫的代碼可能會(huì)被刪走。。。。以程序的積累來(lái)說(shuō)的角度來(lái)說(shuō),我更傾向于寫一個(gè)類似于mydac.c/.h的文件,包含dac.h,有點(diǎn)需要。(那里就可以寫很多被定義為weak類型的函數(shù),如回調(diào)函數(shù).)

關(guān)鍵字:STM32  HAL庫(kù)  頭文件  包含關(guān)系 引用地址:STM32 HAL庫(kù)頭文件包含關(guān)系

上一篇:STM32 之一 HAL庫(kù)、標(biāo)準(zhǔn)外設(shè)庫(kù)、LL庫(kù)
下一篇:HAL庫(kù)-STM32F4 UART-IT

推薦閱讀

可穿戴智能設(shè)備存在的意義是什么?這個(gè)看上去假大空的問(wèn)題,決定著該領(lǐng)域的發(fā)展方向。?定位:智能穿戴設(shè)備 OR 智能穿戴配件??對(duì)一款可穿戴智能設(shè)備來(lái)說(shuō),如果僅僅是照搬手機(jī)上的服務(wù),那么它替代不了智能手機(jī),但是卻可以被智能手機(jī)替代,就會(huì)形成了一個(gè)尷尬——沒(méi)有痛點(diǎn),一個(gè)可有可無(wú)的產(chǎn)品,市場(chǎng)空間是難以預(yù)料的。?不過(guò)不管是獨(dú)立設(shè)備還是配件,...
HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);   //取反HAL_GPIO_WritePin(GPIOF,GPIO_PIN_8,GPIO_PIN_SET); //輸出HAL_GPIO_ReadPin(F8_GPIO_Port,F8_Pin);   //讀取引腳狀態(tài) HAL_UART_Transmit(&huart1,(uint8_t *)&send_data,sizeof(send_data),0x1000);發(fā)送串口數(shù)據(jù)
日本豐田汽車公司與BluE Nexus公司宣布,將通過(guò)合作增強(qiáng)電氣化相關(guān)產(chǎn)品的競(jìng)爭(zhēng)力以及增強(qiáng)銷售結(jié)構(gòu),包括為客戶提供技術(shù)支持和服務(wù)等,為電動(dòng)汽車的加速普及做好準(zhǔn)備。自于2019年4月成立以來(lái),BluE Nexus一直在從事電動(dòng)汽車所必備的電動(dòng)驅(qū)動(dòng)模塊的研發(fā)和銷售工作,以及提供此類模塊的控制校準(zhǔn)服務(wù)。與此同時(shí),豐田利用其作為整車制造商的優(yōu)勢(shì),一直在向其...
廣告摘要聲明廣告撰文 | Sya7月28日,由高工機(jī)器人、高工機(jī)器人產(chǎn)業(yè)研究所(GGII)主辦的“2021(第四屆)高工機(jī)器人集成商大會(huì)暨十佳系統(tǒng)集成商頒獎(jiǎng)典禮?在深圳舉行,未來(lái)機(jī)器人銷售總監(jiān)謝立圍繞“視覺(jué)工業(yè)無(wú)人車輛賦能產(chǎn)線物流無(wú)人化變革?作了主題演講,分享了產(chǎn)線物流無(wú)人化痛點(diǎn)以及未來(lái)機(jī)器人的柔性物流無(wú)人化解決方案。未來(lái)機(jī)器人銷售總監(jiān)謝立近...

史海拾趣

問(wèn)答坊 | AI 解惑

最經(jīng)典的單片機(jī)資料~單片機(jī)應(yīng)用技術(shù)選編1

此系列書(shū)對(duì)于單片機(jī)開(kāi)發(fā)來(lái)說(shuō)是非常經(jīng)典的,雖然出版時(shí)間是2000年左右的,但其中涉及的技術(shù)現(xiàn)在看來(lái)仍然很有價(jià)值,目前已經(jīng)出版到11冊(cè)了,我手上有8冊(cè),如果大家反映好,我會(huì)接著發(fā)出。 注:此系列書(shū)偏重于各類應(yīng)用,對(duì)初學(xué)者可能就困難了一點(diǎn)。 ...…

查看全部問(wèn)答∨

打開(kāi)驅(qū)動(dòng)文件CreateFile()參數(shù)問(wèn)題?

調(diào)用函數(shù) CreateFile(  LPCTSTR lpFileName,   DWORD dwDesiredAccess,   DWORD dwShareMode,   LPSECURITY_ATTRIBUTES lpSecurityAttributes,   DWORD dwCreationDispostion,    ...…

查看全部問(wèn)答∨

WinCE進(jìn)度條問(wèn)題......

在WINCE上寫了個(gè)程序...點(diǎn)擊按鈕進(jìn)入一個(gè)界面時(shí)耗時(shí)較長(zhǎng),所以想用加載進(jìn)度解決。。。 請(qǐng)問(wèn)怎么辦。。。 WINAPI上有光標(biāo)的加載狀態(tài)沒(méi),怎么調(diào)用????LoadCursor??? 程序是用C#寫的。。…

查看全部問(wèn)答∨

50個(gè)典型電路實(shí)例詳解

50個(gè)典型電路實(shí)例詳解,對(duì)你的模電很有好處啊…

查看全部問(wèn)答∨

1138 AD采集不準(zhǔn)

本人是菜鳥(niǎo),大神勿噴。 void ADC_Init(void){    SysCtlPeriEnable(SYSCTL_PERIPH_ADC);    //  使能ADC模塊    SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); //  設(shè)置ADC采樣率 & ...…

查看全部問(wèn)答∨

求 MSP430AFE25x 開(kāi)發(fā)原理圖

MSP430AFE25x 開(kāi)發(fā)原理圖,高手指點(diǎn)…

查看全部問(wèn)答∨

【曬心得】STM32F03--SD驅(qū)動(dòng)(有問(wèn)題)

從ST官網(wǎng)下載了STM32F0xx_StdPeriph_Lib_V1.1.0的固件庫(kù),發(fā)現(xiàn)里面沒(méi)有有關(guān)SD卡的驅(qū)動(dòng)程序,我又下載了STM32F10x_StdPeriph_Lib_V3.5.0的版本里面提供了sd卡驅(qū)動(dòng)函數(shù)。void SD_SPI_Init(void) {   GPIO_InitTypeDef  GPIO_Init ...…

查看全部問(wèn)答∨

拆出來(lái)的液晶屏(來(lái)自CS35原車CD機(jī))

昨天跑到車友會(huì)去看看國(guó)慶有啥活動(dòng)  誰(shuí)知早都跑沒(méi)影了  郁悶之極往回走  還沒(méi)走到停車場(chǎng)就看到一個(gè)收廢品的老頭手里頭拿著個(gè)貌似收來(lái)的車載CD 隨口問(wèn)了一句“這個(gè)賣不?” 老頭也很耿直的回答“拿5塊錢給你嘛” ...…

查看全部問(wèn)答∨

導(dǎo)入PCB 出現(xiàn)莫名的錯(cuò)誤

原理圖中接插件P1一共10個(gè)引腳,封裝也是10個(gè)引腳,但是當(dāng)從原理圖導(dǎo)入PCB中的時(shí)候莫名出現(xiàn)了錯(cuò)誤,錯(cuò)誤位置在P1的21 22.。。等引腳,有點(diǎn)莫名其妙,因?yàn)镻1的引腳數(shù)量一共是10個(gè),怎么會(huì)有超過(guò)10個(gè)引腳出現(xiàn),不知道什么原因,請(qǐng)大家?guī)兔纯矗x謝 ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved