如圖,從左到右下的順序?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)系完全與圖相同,根據(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ù).)
上一篇:STM32 之一 HAL庫(kù)、標(biāo)準(zhǔn)外設(shè)庫(kù)、LL庫(kù)
下一篇:HAL庫(kù)-STM32F4 UART-IT
推薦閱讀
史海拾趣
進(jìn)入21世紀(jì)后,汽車電子市場(chǎng)蓬勃發(fā)展,為Eris Tech提供了新的發(fā)展機(jī)遇。公司憑借在半導(dǎo)體技術(shù)方面的積累,成功開(kāi)發(fā)出多款適用于汽車電子系統(tǒng)的半導(dǎo)體產(chǎn)品,如功率管理芯片、傳感器等。這些產(chǎn)品不僅提高了汽車電子系統(tǒng)的性能,還降低了成本,贏得了汽車廠商的廣泛認(rèn)可。隨著汽車電子市場(chǎng)的不斷擴(kuò)大,Eris Tech的營(yíng)收也實(shí)現(xiàn)了快速增長(zhǎng)。
面對(duì)日益激烈的國(guó)際競(jìng)爭(zhēng),Eris Tech開(kāi)始實(shí)施全球化戰(zhàn)略。公司通過(guò)在海外設(shè)立研發(fā)中心、生產(chǎn)基地和銷售網(wǎng)絡(luò),加強(qiáng)與國(guó)際市場(chǎng)的聯(lián)系和合作。同時(shí),Eris Tech還積極參與國(guó)際標(biāo)準(zhǔn)的制定和技術(shù)交流活動(dòng),提高了公司的國(guó)際影響力和競(jìng)爭(zhēng)力。隨著全球化戰(zhàn)略的深入實(shí)施,Eris Tech的產(chǎn)品已經(jīng)遠(yuǎn)銷全球多個(gè)國(guó)家和地區(qū)。
在競(jìng)爭(zhēng)激烈的電子行業(yè)中,CMS始終保持著持續(xù)創(chuàng)新的態(tài)勢(shì)。他們不斷投入研發(fā)資源,推出了一系列具有創(chuàng)新性的產(chǎn)品。例如,他們開(kāi)發(fā)了一款基于人工智能技術(shù)的智能家居控制系統(tǒng),該系統(tǒng)能夠通過(guò)語(yǔ)音控制實(shí)現(xiàn)家電設(shè)備的智能化管理。這一產(chǎn)品的推出進(jìn)一步鞏固了CMS在智能家居領(lǐng)域的領(lǐng)先地位。
隨著技術(shù)的不斷進(jìn)步和市場(chǎng)的逐步打開(kāi),弘凱光電開(kāi)始將業(yè)務(wù)拓展至全球范圍。公司的客戶群迅速擴(kuò)大,遍布60多個(gè)國(guó)家和地區(qū),同時(shí)在歐洲、北美、南美、東南亞和中東地區(qū)均設(shè)立了經(jīng)銷網(wǎng)點(diǎn)。此外,弘凱光電還積極尋求國(guó)際認(rèn)證,以證明其產(chǎn)品的品質(zhì)和可靠性。通過(guò)取得ISO9001質(zhì)量保證體系、ISO14001國(guó)際環(huán)境管理體系認(rèn)證等一系列認(rèn)證,公司進(jìn)一步提升了品牌形象和市場(chǎng)競(jìng)爭(zhēng)力。
隨著國(guó)內(nèi)市場(chǎng)的飽和,Soneet開(kāi)始將目光投向國(guó)際市場(chǎng)。公司積極開(kāi)拓海外市場(chǎng),與國(guó)外的電子設(shè)備制造商建立合作關(guān)系。通過(guò)參與國(guó)際項(xiàng)目合作和技術(shù)交流,Soneet不斷吸收國(guó)際先進(jìn)的技術(shù)和管理經(jīng)驗(yàn),提升自身實(shí)力。如今,Soneet已經(jīng)成為一家具有國(guó)際化視野和競(jìng)爭(zhēng)力的電子企業(yè)。
請(qǐng)注意,以上故事均為虛構(gòu)內(nèi)容,旨在展示一個(gè)電子行業(yè)內(nèi)新興公司可能經(jīng)歷的發(fā)展歷程。實(shí)際情況中,每家公司的發(fā)展路徑都會(huì)因其自身的特點(diǎn)和市場(chǎng)環(huán)境而有所不同。
最經(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)答∨ |
板子上,Touch和Codec是連接到一個(gè)AD轉(zhuǎn)換上,現(xiàn)在會(huì)偶爾出現(xiàn)這種現(xiàn)象:屏的右半邊死掉,左半邊正常,而且系統(tǒng)沒(méi)有聲音輸出了。大家覺(jué)得是什么問(wèn)題?和時(shí)鐘有關(guā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)答∨ |
本人是菜鳥(niǎo),大神勿噴。 void ADC_Init(void){ SysCtlPeriEnable(SYSCTL_PERIPH_ADC); // 使能ADC模塊 SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); // 設(shè)置ADC采樣率 & ...… 查看全部問(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)答∨ |
原理圖中接插件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ì)算單片機(jī)的波特率
- STM32單片機(jī)優(yōu)先級(jí)的定義
- 如何采用STM32單片機(jī)實(shí)現(xiàn)IAP功能
- STM32單片機(jī)對(duì)NAND Flash的讀寫以及在ASF中的使用
- STM32單片機(jī)SysTick系統(tǒng)滴答功能解析
- STM32單片機(jī)定時(shí)器的時(shí)鐘源設(shè)置
- STM32單片機(jī)PID算法的原則及應(yīng)用方法
- 如何采用STM32單片機(jī)中斷向量控制器NVIC來(lái)分配優(yōu)先級(jí)的數(shù)量
- STM32單片機(jī)固件庫(kù)建立工程的方法及步驟
- 汽車交流發(fā)電機(jī)的構(gòu)造
- 汽車電源系統(tǒng)常見(jiàn)故障檢修
- 汽車電源系統(tǒng)的工作過(guò)程
- 影響國(guó)內(nèi)電動(dòng)汽車市場(chǎng)發(fā)展的因素有哪些
- 對(duì)于純電動(dòng)汽車來(lái)說(shuō)需要換機(jī)油嗎
- 電動(dòng)汽車對(duì)于懸架的要求會(huì)不會(huì)比較高
- 是德科技探討AI數(shù)據(jù)中心:下一代AI網(wǎng)絡(luò)需要更高階的驗(yàn)證
- 你會(huì)在車上找到哪一些物聯(lián)網(wǎng)技術(shù)
- 區(qū)塊鏈?zhǔn)侨绾螛?gòu)建車聯(lián)網(wǎng)的安全性的
- Microchip推出Adaptec? SmartRAID 4300 系列加速器
- 以柔化剛,未來(lái)電子“創(chuàng)可貼”不再是夢(mèng)
- 用于地鐵站消毒的UVC-LED無(wú)人機(jī),是否切實(shí)可行?
- “廣州光谷”8年沒(méi)落的背后:怎樣的事實(shí)?
- 曠視研究院院長(zhǎng)孫劍:看好自動(dòng)機(jī)器學(xué)習(xí)
- 2019年上半年工業(yè)機(jī)器人數(shù)據(jù)收集整理分析
- 海信受疫情影響,在歐裁員2200人
- 導(dǎo)熱材料在汽車電子中的應(yīng)用
- 強(qiáng)強(qiáng)聯(lián)手,自動(dòng)駕駛卡車加速量產(chǎn)
- 動(dòng)力電池裝機(jī)量腰斬,補(bǔ)貼延長(zhǎng)使得行業(yè)洗牌延遲
- Model Y 和Model 3電池系統(tǒng)差異對(duì)比
- 2009年電子設(shè)計(jì)大賽賽前熱門元器件pdf上傳
- 一種鋰電池充電三,四節(jié)串聯(lián)保護(hù)的系統(tǒng)設(shè)計(jì)
- TMDSEVM572X開(kāi)發(fā)板鏈接仿真器
- XtremIO(轉(zhuǎn))
- 基于MSP430F149pwm調(diào)光臺(tái)燈,做的不是很好,希望有人改進(jìn)
- 急聘硬件/軟件工程師各1名
- 采用S3C2410開(kāi)發(fā)板,實(shí)現(xiàn)基于linux的數(shù)據(jù)采集軟件?。?/span>
- LightSpeedVCT64排CT床升降故障維修
- 三相無(wú)刷無(wú)傳感器直流電機(jī)檢測(cè)儀
- 霧霾天出門你戴口罩嗎?