娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32固件庫SYSTEM 文件夾介紹

發(fā)布者:PeacefulSoul最新更新時間:2024-10-15 來源: cnblogs關(guān)鍵字:STM32  固件庫  SYSTEM 手機看文章 掃描二維碼
隨時隨地手機看文章

SYSTEM 文件夾里面的代碼,此文件夾里面的代碼由 ALIENTEK 提供,包含了幾乎每個實驗都可能用到的延時函數(shù),位帶操作,串口打印代碼等。SYSTEM 文件夾下包含了 delay、 sys、 usart 等三個文件夾。分別包含了 delay.c、 sys.c、usart.c 及其頭文件 delay.h,sys.h,usart.h。 


delay 文件夾代碼介紹

delay 文件夾內(nèi)包含了 delay.c 和 delay.h 兩個文件,這兩個文件用來實現(xiàn)系統(tǒng)的延時功能,其中包含 3 個函數(shù):

void delay_init(u8 SYSCLK); //該函數(shù)用來初始化 2 個重要參數(shù):fac_us 以及 fac_ms;同時把 SysTick 的時鐘源選擇為外部時鐘

void delay_ms(u16 nms); // 該函數(shù)用來延時指定的 ms,其參數(shù) nms 為要延時的微秒數(shù)

void delay_us(u32 nus);  // 該函數(shù)用來延時指定的 us,其參數(shù) nus 為要延時的微秒數(shù)。

CM3 內(nèi)核的處理器,內(nèi)部包含了一個 SysTick 定時器, SysTick  是一個 24  位的倒計數(shù)定時器,當(dāng)計到 0  時,將從 RELOAD  寄存器中自動重裝載定時初值。只要不把它在 SysTick  控制及狀態(tài)寄存器中的使能位清除,就永不停息。

下面我們開始介紹這幾個函數(shù)。

 sys 文件夾代碼介紹

sys 文件夾內(nèi)包含了 sys.c 和 sys.h 兩個文件。在 sys.h 里面定義了 STM32 的 IO 口輸入讀取宏定義和輸出宏定義。 sys.c 里面只定義了一個中斷分組函數(shù)。

IO 口的位操作實現(xiàn)

該部分代碼在 sys.h 文件中,實現(xiàn)對 STM32 各個 IO 口的位操作,包括讀入和輸出。當(dāng)然在這些函數(shù)調(diào)用之前,必須先進行 IO 口時鐘的使能和 IO 口功能定義。此部分僅僅對IO 口進行輸入輸出讀取和控制。 


  1.    //IO 口操作,只對單一的 IO 口!

  2.    //確保 n 的值小于 16!

  3.    #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //輸出

  4.    #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //輸入

  5.    #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //輸出

  6.    #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //輸入

  7.    #define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //輸出

  8.    #define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //輸入

  9.    #define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //輸出

  10.    #define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n) //輸入

  11.    #define PEout(n) BIT_ADDR(GPIOE_ODR_Addr,n) //輸出

  12.    #define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n) //輸入

  13.    #define PFout(n) BIT_ADDR(GPIOF_ODR_Addr,n) //輸出

  14.    #define PFin(n) BIT_ADDR(GPIOF_IDR_Addr,n) //輸入

  15.    #define PGout(n) BIT_ADDR(GPIOG_ODR_Addr,n) //輸出

  16.    #define PGin(n) BIT_ADDR(GPIOG_IDR_Addr,n)

有了上面的代碼,我們就可以像 51/AVR 一樣操作 STM32 的 IO 口了。比如,我要 PORTA的第七個 IO 口輸出 1,則可以使用 PAout(6)=1;即可實現(xiàn)。我要判斷 PORTA 的第 15個位是否等于 1,則可以使用 if(PAin(14)==1)…;就可以了。

這里順便說一下,在 sys.h 中的還有個全局宏定義:

//0,不支持 ucos

//1,支持 ucos

#define SYSTEM_SUPPORT_UCOS    0    //定義系統(tǒng)文件夾是否支持 UCOS

SYSTEM_SUPPORT_UCOS,這個宏定義用來定義 SYSTEM 文件夾是否支持 ucos,如果在 ucos 下面使用 SYSTEM 文件夾,那么設(shè)置這個值為 1 即可,否則設(shè)置為 0(默認(rèn))。

usart 文件夾介紹

usart 文件夾內(nèi)包含了 usart.c 和 usart.h 兩個文件。這兩個文件用于串口的初始化和中斷接收。這里只是針對串口 1,比如你要用串口 2 或者其他的串口,只要對代碼稍作修改就可以了。usart.c 里面包含了 2 個函數(shù)一個是 void USART1_IRQHandler(void);另外一個是void uart_init(u32 bound);里面還有一段對串口 printf 的支持代碼,如果去掉,則會導(dǎo)致 printf無法使用,雖然軟件編譯不會報錯,但是硬件上 STM32 是無法啟動的,這段代碼不要去修改。

printf 函數(shù)支持printf 函數(shù)向串口發(fā)送我們需要的內(nèi)容,方便開發(fā)過程中查看代碼執(zhí)行情況以及一些變量值。

uart_init 函數(shù)函數(shù)是串口 1 初始化函數(shù)。該函數(shù)有 1 個參數(shù)為波特率

void  USART1_IRQHandler(void)函數(shù)是串口 1 的中斷響應(yīng)函數(shù),當(dāng)串口 1 發(fā)生了相應(yīng)的中斷后,就會跳到該函數(shù)執(zhí)行。


關(guān)鍵字:STM32  固件庫  SYSTEM 引用地址:STM32固件庫SYSTEM 文件夾介紹

上一篇:STM32 波形
下一篇:STM32 通用定時器

推薦閱讀最新更新時間:2025-04-15 18:00

GD32F303固件庫開發(fā)(6)----GPIO輸入函數(shù)說明
概述 本章主要講解GPIO輸入檢測。 硬件準(zhǔn)備 這里準(zhǔn)備了2塊開發(fā)板進行驗證,分別是GD32303C_START開發(fā)板。 樣品申請 https://www.wjx.top/vm/wFGhGPF.aspx# 管腳配置 在GD32303C_START開發(fā)板中,按鍵的管腳為PA0。 LED管腳如下所示。 對GPIO管腳進行初始化配置。 /* 使能GPIOB時鐘*/ rcu_periph_clock_enable(RCU_GPIOB); /*設(shè)置PB14、PB15為推挽輸出 */ gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_14)
[單片機]
GD32F303<font color='red'>固件庫</font>開發(fā)(6)----GPIO輸入函數(shù)說明
IAR for stm8使用標(biāo)準(zhǔn)固件庫的方法以及注意事項
標(biāo)準(zhǔn)庫其實挺方便的。有了一個模板之后,如果改參數(shù),根本就不需要再去查手冊,重新定義寄存器值了。 第一部分,stm8標(biāo)準(zhǔn)庫介紹。 stm8的標(biāo)準(zhǔn)庫名稱代碼是stsw-stm8069,根據(jù)這個代碼就可以到st的官網(wǎng)上下載到最新的固件庫。 解壓固件庫后,有幾個文件夾,我這里只是簡單的說明各文件夾和文件的作用,具體的說明參考文件包中的chm幫助文檔。 Libraries是驅(qū)動文件夾,里面的inc文件夾是h文件,src文件夾是c文件,這是最關(guān)鍵的東西。 Utilities是stm自己提供的EVAL開發(fā)板程序,如果沒用這個EVAL開發(fā)板可以無視,有也可以無視,反正就很簡單的一個led程序 Project文件夾是工程模板文件,里面有兩個重
[單片機]
美國Ion Storage Systems研發(fā)的固態(tài)電池成功實現(xiàn)800次循環(huán)
位于美國的高能量密度、快充固態(tài)電池(SSB)制造商Ion Storage Systems(Ion)于8月1日宣布,公司自主研發(fā)的固態(tài)電池單元已實現(xiàn)800次循環(huán),這一重大里程碑標(biāo)志著其固態(tài)電池在商業(yè)化道路上的邁出了重要一步。 公司表示,其創(chuàng)新的電池單元在循環(huán)過程中不會有壓縮或體積變化,而這是固態(tài)電池普及所面臨的主要障礙。 在此之前,Ion曾于2024年初宣布其無陽極固態(tài)電池首次實現(xiàn)了125次無壓縮循環(huán)。公司已投入3,000萬美元建造電池制造工廠,并獲得了美國能源部高級研究項目署(ARPA-E)提供的2,000萬美元資助,這是其與多家世界級商業(yè)化合作伙伴共同開展的一個為期三年、總額達4,000萬美元的合作項目的一部分。 I
[嵌入式]
是德科技推出System Designer for PCIe?和Chiplet PHY Designer, 優(yōu)化基于數(shù)字標(biāo)準(zhǔn)的仿真工作流程
是德科技推出System Designer for PCIe?和Chiplet PHY Designer, 優(yōu)化基于數(shù)字標(biāo)準(zhǔn)的仿真工作流程 借助由仿真驅(qū)動的虛擬合規(guī)性測試解決方案,采用更智能、更精簡的工作流程,提高 PCIe 設(shè)計的工作效率 具有設(shè)計探索和報告生成能力,可加快小芯片的信號完整性分析以及UCIe 合規(guī)性驗證,從而幫助設(shè)計師提高工作效率,縮短新產(chǎn)品上市時間 是德科技宣布推出System Designer for PCIe?,這是其先進設(shè)計系統(tǒng) (ADS) 軟件套件中的一款新產(chǎn)品,支持基于行業(yè)標(biāo)準(zhǔn)的仿真工作流程,可用于仿真高速、高頻的數(shù)字設(shè)計。System Designer for PCIe 是一種智能的設(shè)
[測試測量]
是德科技推出<font color='red'>System</font> Designer for PCIe?和Chiplet PHY  Designer, 優(yōu)化基于數(shù)字標(biāo)準(zhǔn)的仿真工作流程
GaN Systems宣布出貨2000萬個GaN產(chǎn)品
GaN(氮化鎵)功率器件供應(yīng)商GaN Systems宣布其已發(fā)售2000萬個GaN產(chǎn)品,其工廠合作伙伴計劃如期在2021年完成40倍產(chǎn)能擴充計劃。 產(chǎn)能增加主要是因為GaN Systems的晶體管下一波訂單涵蓋了眾多應(yīng)用。 GaN Systems在幾個關(guān)鍵的工業(yè)市場上都經(jīng)歷了異常高的增長。除了電話和計算機充電器及適配器外,GaN Systems晶體管還用于音頻放大器,數(shù)據(jù)中心電源,工業(yè)電機驅(qū)動器,激光驅(qū)動器,醫(yī)療電源,衛(wèi)星和航空航天系統(tǒng)以及汽車EV電源電子產(chǎn)品中。 GaN Systems全面,同類最佳的100V和650V產(chǎn)品線具有高可靠性,并展示出諸如更高的效率和功率密度,同時減小尺寸,重量和成本之類的優(yōu)勢,這些都是GaN
[半導(dǎo)體設(shè)計/制造]
Austriamicrosystems
Austriamicrosystems 公司中文名 奧地利微電子 網(wǎng)站 http://www.austriamicrosystems.com/chi 總部地址 Tobelbader Strasse 30 A-8141 Unterpremstaetten 中國地址 Rm 1006, Tomson Commercial Building, No 710 Dongfang Rd, Pudong, Shanghai, China, 200122 電話 86-21-61627488 傳
[廠商大全]
NetLogic Microsystems公司10 Gigabit以太網(wǎng)PHY用于S12500和S9500E系列核心交換機
NetLogic Microsystems今天宣布,惠普公司子公司、IP產(chǎn)品和解決方案供應(yīng)商華三通信技術(shù)有限公司(H3C Technologies)已經(jīng)選擇NetLogic Microsystems的AEL2020雙通道10 Gigabit Ethernet (10GE) PHY器件,用于其S12500和S9500E系列核心交換機。 H3C S12500是一系列專為用于下一代數(shù)據(jù)中心而設(shè)計的核心交換機,該系列產(chǎn)品采用先進的CLOS多級(multi-fabric)多平面交換架構(gòu),提供持續(xù)的帶寬升級能力。基于100GE的平臺,S12500同時支持40GE和100GE以太網(wǎng)模式,并提供高達576個萬兆接口,以滿足高密度的
[網(wǎng)絡(luò)通信]
G2 Microsystems創(chuàng)新應(yīng)用Cadence低功耗方案加快無線設(shè)備開發(fā)
   基于CPF的完整流程促使G2 Microsystems推出超低功耗 Wi-Fi SoC 加州圣荷塞,2007年10月22日 ——全球電子設(shè)計創(chuàng)新領(lǐng)先企業(yè)Cadence設(shè)計系統(tǒng)公司(NASDAQ: CDNS) ,今天宣布G2 Microsystems已經(jīng)使用Cadence低功耗解決方案開發(fā)了創(chuàng)新的無線移動跟蹤設(shè)備。這種完整、集成的且易用的流程,基于Si2標(biāo)準(zhǔn)的通用功率格式(CPF),讓G2 Microsystems能夠?qū)崿F(xiàn)更快上市以及超低功耗的目標(biāo)。 G2 Microsystems總部位于加州坎貝爾市,專門設(shè)計和制造超低功耗、特定用途的Wi-Fi解決方案,用于實時方位跟蹤、無線傳感、移動設(shè)備和資產(chǎn)跟蹤標(biāo)識等用途。該公司利用其
[焦點新聞]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 东乌珠穆沁旗| 苏州市| 渑池县| 临清市| 潞城市| 堆龙德庆县| 任丘市| 文山县| 海阳市| 都江堰市| 偃师市| 且末县| 浏阳市| 巴里| 陇南市| 贡嘎县| 施秉县| 平乡县| 清流县| 通海县| 景谷| 高要市| 崇信县| 望都县| 宁都县| 黄冈市| 黎平县| 乐山市| 玉溪市| 资中县| 隆回县| 商水县| 绥宁县| 柘荣县| 上高县| 民县| 宝山区| 依安县| 七台河市| 德清县| 河北省|