《ARM微控制器與嵌入式系統》高職全套教學課件_第1頁
《ARM微控制器與嵌入式系統》高職全套教學課件_第2頁
《ARM微控制器與嵌入式系統》高職全套教學課件_第3頁
《ARM微控制器與嵌入式系統》高職全套教學課件_第4頁
《ARM微控制器與嵌入式系統》高職全套教學課件_第5頁
已閱讀5頁,還剩809頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ARM微控制器與嵌入式系統

1課程概述全套可編輯PPT課件

本課件是可編輯的正常PPT課件課程概述認識ARM嵌入式系統基本概念軟件編程硬件使用接口應用玩轉ARM微控制器,能夠設計微控制器為核心的電子產品積累計算機、電路基礎知識編程知識模電、數電知識備戰全國大學生電子設計競賽本課件是可編輯的正常PPT課件ARM嵌入式系統嵌入式系統是以應用為中心、以計算機技術為基礎、軟硬件均可裁剪、適用對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。其實我們現在說的嵌入式系統是狹義的即是基于某一款嵌入式微處理器(如ARM)所組成的嵌入到對象體中實現智能控制的系統,而廣義的嵌入式系統面就比較廣了(如單片機系統、DSP系統等)。本課件是可編輯的正常PPT課件微控制器MCU嵌入式系統嵌入式微控制器(MCU)嵌入式微處理器(MPU)嵌入式信號處理器嵌入式片上系統本課件是可編輯的正常PPT課件微控制器(MCU,單片機)CPU本課件是可編輯的正常PPT課件全球物聯網市場發展趨勢01234520172018F2021F2022F物聯網新入網設備數量(單位:10億)2019F 2020FIoT

Connection22017-2022年復合年均增長率=14.8%來源:ICinsights2018本課件是可編輯的正常PPT課件物聯網發展推動MCU應用增長30123420172018F2019F2020F2021F2022F

物聯網MCU銷量(單位:10億) IoTMCU

(M)來源:ICinsights20182017-2022復合年均增長率=17%本課件是可編輯的正常PPT課件微控制器應用廣泛本課件是可編輯的正常PPT課件微控制器應用廣泛本課件是可編輯的正常PPT課件微控制器應用廣泛本課件是可編輯的正常PPT課件微控制器應用廣泛本課件是可編輯的正常PPT課件MCU種類51系列單片機(8位單片機)宏晶科技的STC12ATMEL公司的AT89C52恩智浦(NXP)系列華邦公司

Dallas公司本課件是可編輯的正常PPT課件MCU種類AVR單片機ATMEGA128L單片機AVR32位UC3微控制器本課件是可編輯的正常PPT課件MCU種類PIC單片機本課件是可編輯的正常PPT課件MCU種類飛思卡爾單片機(飛思卡爾,原摩托羅拉公司)本課件是可編輯的正常PPT課件MCU種類恩智浦(NXP)系列單片機本課件是可編輯的正常PPT課件MCU種類MSP430單片機本課件是可編輯的正常PPT課件STM32微控制器10STM32定位大眾市場MCU領導者:12大產品系列,超過50個產品線,千款型號,I/O兼容Cortex-M0Cortex-M0+Cortex-M3Cortex-M4Cortex-M7高性能系列主流系列超低功耗系列無線系列Note:Cortex-M0+Radio

Co-processor本課件是可編輯的正常PPT課件本學期的開發對象ARM-Cortex-M4架構的微控制器意法半導體公司的STM32F407單片機本課件是可編輯的正常PPT課件預備知識英語閱讀能力C語言基礎數字電路和計算機的基礎知識本課件是可編輯的正常PPT課件預備知識英語閱讀能力C語言基礎數字電路和計算機的基礎知識本課件是可編輯的正常PPT課件預備知識英語閱讀能力C語言基礎數字電路和計算機的基礎知識本課件是可編輯的正常PPT課件課程概述讓我們一起進入微控制器和嵌入式的學習吧!LET’SSTART!本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

2ARM概述本課件是可編輯的正常PPT課件ARM歷史:起源本課件是可編輯的正常PPT課件ARM歷史:起源1980年,英國BBC電視臺策劃了一系列關于計算機的電視節目。但導演發現一個問題:怎么給沒見過電腦的觀眾畫餅?本課件是可編輯的正常PPT課件ARM歷史:起源此時美國蘋果公司已經推出適于個人使用的微型電腦——Apple-II,個人電腦在美國風靡。本課件是可編輯的正常PPT課件ARM歷史:起源本課件是可編輯的正常PPT課件ARM歷史:起源迫于無奈之下,公司委任索菲·威爾森領導研發自己的處理器,因為Acorn公司資源掣肘,沒有能力開發CISC結構的處理器,只能選擇開發晶體管數較少的RISC處理器。本課件是可編輯的正常PPT課件ARM歷史:起源

ARM的由來本課件是可編輯的正常PPT課件ARM歷史:起源本課件是可編輯的正常PPT課件ARM歷史:起源本課件是可編輯的正常PPT課件ARM歷史:蓬勃發展NewtonPDA本課件是可編輯的正常PPT課件ARM歷史:蓬勃發展本課件是可編輯的正常PPT課件ARM歷史:蓬勃發展1998年4月17日,ARM公司同時在英國倫敦證交所和美國納斯達克上市。本課件是可編輯的正常PPT課件ARM歷史:蓬勃發展本課件是可編輯的正常PPT課件ARM歷史:蓬勃發展2007年底,ARM的雇員總數為1728人,持有專利700項,全球分支機構31家,合作伙伴200家,年收入2.6億英鎊。本課件是可編輯的正常PPT課件賣身軟銀2014年7月18日,軟銀宣布將以243億英鎊(約合320億美元)收購ARM。本課件是可編輯的正常PPT課件ARM系列處理器本課件是可編輯的正常PPT課件ARM系列處理器本課件是可編輯的正常PPT課件ARM系列處理器

轉自:/article/13324.html本課件是可編輯的正常PPT課件ARM系列處理器麒麟980處理器:Cortex-A76架構本課件是可編輯的正常PPT課件Cortex-M處理器家族本課件是可編輯的正常PPT課件Cortex-M處理器家族本課件是可編輯的正常PPT課件Cortex-M處理器家族本課件是可編輯的正常PPT課件CMSIS-微控制器軟件接口標準用戶實時操作系統CMSIS層微控制器本課件是可編輯的正常PPT課件小結ARM發展史ARM系列處理器Cortex-M處理器家族CMSIS-微控制器軟件接口標準本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

3STM32微控制器本課件是可編輯的正常PPT課件STM32產品里程碑92018首批基于Cortex-M3通用MCU首批基于Cortex-M3超低功耗MCU首個高性能產品線首個高性能Cortex-M4入門級STM32F0Cortex-M0DSP+增強模擬外設Cortex-M4入門級超低功耗

Cortex-M0+首個基于Cortex-M7MCU超低功耗Cortex-M4#1

ULP273

ULPBench?2007

2009

2010

2011

2012

2013

2014

2015

2016-17最高性能MCU2020CoremarkCortex-M7?超低功耗+增強性能雙核內置2.4GHzRF本課件是可編輯的正常PPT課件本學期的開發對象ARM-Cortex-M4架構的意法半導體公司的微控制器STM32F407ZGTx本課件是可編輯的正常PPT課件STM32微控制器什么是STM32ST—意法半導體,是一個公司名,即SOC廠商M—Microelectronics的縮寫,表示微控制器32—32bit的意思,表示這是一個32bit的微控制器本課件是可編輯的正常PPT課件ST公司微控制命名規范

本課件是可編輯的正常PPT課件ST公司微控制命名規范本課件是可編輯的正常PPT課件STM32能做什么7MeteringCar

audioApplianceSurveillanceeBike DockingSmart

wheelRoboticIoTWearable Drone Share

bike傳統應用:MCU作為主控使用新應用:MCU+RF+Sense+

Algorithm2007201320142018……本課件是可編輯的正常PPT課件

ST公司微控制器按應用及功能分為: 1.自動駕駛 2.無線射頻 3.低功耗 4.主流基礎型 5.高性能STM32能做什么本課件是可編輯的正常PPT課件STM32怎么選型本課件是可編輯的正常PPT課件ST(意法半導體)推出了以基于ARMCortex?-M4為內核的STM32F4系列高性能微控制器,其采用了90納米的NVM工藝和ART。ART技術使得程序零等待執行,提升了程序執行的效率,將Cortext-M4的性能發揮到了極致,使得STM32F4系列可達到168MHz。自適應實時加速器能夠完全釋放Cortex-M4內核的性能;當CPU工作于所允許的頻率(≤168MHz)時,在閃存中運行的程序,可以達到相當于零等待周期的性能。STM32F4系列微控制器集成了單周期DSP指令和FPU,提升了計算能力,可以進行一些復雜的計算和控制。STM32F4xx微控制器簡介本課件是可編輯的正常PPT課件STM32微控制器選型本課件是可編輯的正常PPT課件核心板處理器片上資源簡介ST公司微控制均可參考官方選型手冊來了解處理器的片上資源。對于STM32F407ZGT6而言片上資源如下:1、最大工作時鐘168MHz2、Cortex-M4內核3、Flash(閃存)1024Kbytes、RAM(隨機存取存儲器)192Kbytes 4、144個引腳,LQFP的封裝,114個IO5、12個16Bit定時器、2個32Bit定時器6、3個ADC、24個ADC通道、2個DAC7、3個SPI、2個IIS、3個IIC、6個串口、2個CAN總線8、1個SDIO、1個FSMC、1個USBOTG-FS、1個USBOTG-HS9、1個DCMI、1個RNG本課件是可編輯的正常PPT課件注:STM32F4xx內部框圖可參考STM32F4xx數據手冊STM32F407內部框圖本課件是可編輯的正常PPT課件STM32最小系統本課件是可編輯的正常PPT課件STM32最小系統本課件是可編輯的正常PPT課件STM32最小系統電源電路復位電路時鐘電路程序下載電路啟動電路程序下載電路電源電路本課件是可編輯的正常PPT課件小結STM32產品里程碑STM32如何選型STM32F407的片上資源STM32F407的內部框圖STM32最小系統本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

4多文件編程本課件是可編輯的正常PPT課件Cortex-M的開發方法本課件是可編輯的正常PPT課件程序的構造過程本課件是可編輯的正常PPT課件模塊化編程(多文件編程)所謂模塊化編程,就是多文件(.c文件)編程,一個.c文件和一個.h文件可以被稱為一個模塊。多文件編程也就是指一個程序中包含了多個源文件(.C文件)以及頭文件(.h文件)。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)庫函數的編寫源文件的編寫庫函數的調用主程序的編寫本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)初級方案:3個函數的聲明和實現放到一個文件中,再在main函數中調用。在DEV-C++中編輯一個.h文件(這里可以命名為my.h)并保存。再編輯main.c文件(注意main.c文件要和我們的my.h文件放到同一個目錄下)這個方法要新建一個工程才能完成。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)初級方案:本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)初級方案雖然實現了函數的聲明,但是模塊化的編程是提倡在.h文件中只包含一些聲明,我們卻放進了三個函數的實現。一般提倡把函數的時間放到另一個.c文件中。修改版:main.c文件:只放main函數myfile.h文件:放3個函數的聲明myfile.c文件:放3個函數的實現在Dev-C++下建一個工程(與初級方案相同),建好工程后在該目錄下加載main.c文件即可。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)建工程的時候我們可以選擇空工程,也可以選擇典型的Helloworld工程,如果選擇后者,系統會自動建立一個Helloworld的main.c文件;如果選擇前者,后面我們需要建立一個main.c加載到工程中。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)這時我們新建myfile.c文件,注意重命名時輸入myfile.c,并在文件中輸入3個函數的實現。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)按照同樣的辦法這時我們新建myfile.h文件,注意重命名時輸入myfile.h,并在文件中輸入3個函數的聲明。本課件是可編輯的正常PPT課件模塊化編程方法(多文件編程方法)最后修改main.c中的代碼本課件是可編輯的正常PPT課件關于頭文件的內容必須注意:1)頭文件中可以和C程序一樣引用其它頭文件,可以寫預處理塊,但不要寫具體的語句。2)可以聲明函數,但不可以定義函數。3)可以聲明常量,但不可以定義變量。4)可以“定義”一個宏函數。注意:宏函數很象函數,但卻不是函數。其實還是一個聲明。5)結構的定義、自定義數據類型一般也放在頭文件中。6)多文件編程時,只能有一個文件包含main()函數,因為一個工程只能有一個入口函數。我們把包含main()函數的文件稱為主文件。7)為了更好的組織各個文件,一般情況下一個.c文件對應一個.h文件,并且文件名要相同,例如fun.c和fun.h。8)頭文件可以多次包含相同的頭文件,但效果與只包含一次相同。9)防止重復包含的措施

#ifndefMY_INCLUDE_H#defineMY_INCLUDE_H//頭文件內容

#endif

本課件是可編輯的正常PPT課件模塊化編程實例(多文件編程實例)多文件程序的編寫要求:C文件中實現求圓的面積,圓的周長,正方形的面積主函數實現調用函數本課件是可編輯的正常PPT課件模塊化編程實例(多文件編程實例)本課件是可編輯的正常PPT課件小結Cortex-M的開發方法程序的構造過程模塊化編程方法(多文件編程方法)模塊化編程實例(多文件編程實例)本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

5STM32微控制器開發環境本課件是可編輯的正常PPT課件STM32微控制器開發環境開發工具安裝Keil5調試工具下載程序本課件是可編輯的正常PPT課件 1、IAR-EWARM是IAR公司推出 2、KEIL原屬于KEIL公司2005年被ARM收購 3、STM32CubeMx是有ST公司推出的一款

圖形化配置編程的軟件。

編程語言可以是C、C++、JAVA、Python 等。

STM32微控制器開發工具對與STM32微控制器編程使用的開發工具本課件是可編輯的正常PPT課件

STM32開發環境搭建-安裝Keil5獲取安裝包安裝Keil5安裝STM32芯片包(添加器件庫)本課件是可編輯的正常PPT課件獲取Keil5安裝包

到KEIL的官網下載:/download/product/。提供試用版給你,試用版使用時間是1個月,要長期使用還得買注冊版。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件2.安裝KEIL5雙擊KEIL5安裝包,開始安裝,next

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件2.安裝KEIL5Agree,next

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件2.安裝KEIL5選擇安裝路徑,路徑不能帶中文,next。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件2.安裝KEIL5填寫用戶信息,全部填空格(鍵盤的space鍵)即可,next。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件2.安裝KEIL5Finish,安裝完畢。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件3.安裝STM32芯片包(添加器件庫)直接去keil的官網下載:/dd2/。在官網中找到STM32F4系列的包下載到本地電腦即可。雙擊keil圖標,界面如下:點擊pack安裝。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件3.安裝STM32芯片包(添加器件庫)選擇ok,然后點擊file

import選擇pack的路徑進行安裝。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件3.安裝STM32芯片包(添加器件庫)安裝好以后就會發現pack中出現了器件STM32F407,這樣我們就可以進行微控制器的開發了。

STM32開發環境搭建-安裝Keil5本課件是可編輯的正常PPT課件調試工具調試協議JTAG協議SWD調試模式RDI接口調試工具JLink仿真器ULink仿真器ST-Link仿真器本課件是可編輯的正常PPT課件調試協議--JTAG協議JTAG(JointTestActionGroup,聯合測試行動小組)是一種國際標準測試協議(IEEE1149.1兼容),主要用于芯片內部測試。現在多數的高級器件都支持JTAG協議,如ARM、DSP、FPGA器件等。標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數據輸入和數據輸出線。本課件是可編輯的正常PPT課件調試協議--SWD調試模式SWD接口:串行調試(SerialWireDebug),是一種和JTAG不同的調試模式,使用的調試協議也不一樣,最直接的體現在調試接口上,與JTAG的20個引腳相比,SWD只需要4個(或者5個)引腳,結構簡單,但是使用范圍沒有JTAG廣泛,主流調試器上也是后來才加的SWD調試模式。 JTAGSWD本課件是可編輯的正常PPT課件

調試協議--SWD調試模式RDI接口:遠程調試接口(RemoteDebugInterface),是ARM公司提出的標準調試接口,主要用于ARM芯片的仿真,由于各個IDE廠商使用的調試接口各自獨立,硬件無法進行跨平臺的調試。現在眾多的IDE廠家都逐步采用標準RDI作為ARM仿真器的調試接口,因此使跨平臺的硬件調試成為可能。本課件是可編輯的正常PPT課件STM32調試工具—Jlink仿真器J-Link是德國SEGGER公司推出基于JTAG的仿真器。簡單地說,是給一個JTAG協議轉換盒,即一個小型USB到JTAG的轉換盒,其連接到計算機用的是USB接口,而到目標板內部用的還是jtag協議。它完成了一個從軟件到硬件轉換的工作。JLINK是一個通用的開發工具,可以用于KEIL、IAR、ADS等平臺。速度,效率,功能都很好,據說是眾多仿真器里最強悍的。

本課件是可編輯的正常PPT課件STM32調試工具—Ulink仿真器ULINK是ARM/KEIL公司推出的仿真器,目前網上可找到的是其升級版本,ULINK2和ULINKPro仿真器。ULINK/ULINK2可以配合Keil軟件實現仿真功能,并且僅可以在Keil軟件上使用,增加了串行調試(SWD)支持,返回時鐘支持和實時代理等功能。本課件是可編輯的正常PPT課件STM32調試工具—STlink仿真器ST-LINK是專門針對意法半導體STM8和STM32系列芯片的仿真器。ST-LINK/V2指定的SWIM標準接口和JTAG/SWD標準接口,其主要功能有:編程功能仿真功能仿真性能編程性能本課件是可編輯的正常PPT課件STM32微控制器下載程序選擇調試工具,安裝驅動修改設置下載程序到目標板本課件是可編輯的正常PPT課件

STM32微控制器下載程序—安裝驅動安裝ST-Link的驅動本課件是可編輯的正常PPT課件STM32微控制器下載程序—修改設置打開工程,選擇options,單擊Debug選項卡,選擇ST-LinkDebugger,點擊Settings。本課件是可編輯的正常PPT課件STM32微控制器下載程序—修改設置單擊完Settings后,出現窗口,點擊確定就可以使用ST-Link下載程序了。如果仿真器連接了電腦則MDK會識別出仿真器仿真器連接了電腦和開發板,并且開發板已經上電,則仿真器會識別出開發板的芯片并顯示出來本課件是可編輯的正常PPT課件

STM32微控制器下載程序如果前面步驟都成功了,接下來就可以把編譯好的程序下載到開發板上運行。下載程序不需要其他額外的軟件,直接點擊KEIL中的LOAD按鈕即可。程序下載后,如果沒有出現實驗現象,按復位鍵試試。 本課件是可編輯的正常PPT課件小結開發工具安裝Keil5調試工具下載程序本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

6C語言基礎復習本課件是可編輯的正常PPT課件C語言基礎復習位操作define宏定義ifdef條件編譯extern變量申明typedef變量別名結構體本課件是可編輯的正常PPT課件符號

描述

運算規則&

按位與兩個位都為1時,結果才為1|

按位或

兩個位都為0時,結果才為0^

按位異或兩個位相同為0,相異為1~

取反0變1,1變0<<

左移各二進位全部左移若干位,高位丟棄,低位補0>>

右移各二進位全部右移若干位,對無符號數,高位補0位操作位操作:就是對類型變量可以在位級別進行操作C語言支持下面6種位操作:本課件是可編輯的正常PPT課件位操作1.不改變其他位的情況下,對某幾位進行設值方法:對需要設置的位用“&”操作符進行清零操作,然后用“|”操作符設值。例:要改變GPIOA->BSRRL的狀態,可以先對寄存器的值進行“&”清零操作,然后進行“|”或運算。GPIOA->BSRRL&=0xFF0F;//這是將第4-7位清0GPIOA->BSRRL|=0x0040;//設置相應位的值,不改變其他位的值本課件是可編輯的正常PPT課件位操作2.移位操作提高代碼的可讀性GPIOx->ODR=(((uint32_t)0x01)<<pinpos);這個操作就是將ODR寄存器的第pinpos位設置為1使用左移比設定一個固定的值要好看,并且重用性高。如:GPIOx->ODR=(((uint32_t)0x03)<<4);GPIOx->ODR=0x0030;這兩個代碼當然是前一句的重用性高一些。本課件是可編輯的正常PPT課件位操作3.取反操作技巧取反操作經常與“&”操作一起使用,把變量的某位清零如:GPIOx->ODR&=~(((uint32_t)0x01)<<4);這個代碼就是把bit4位清零本課件是可編輯的正常PPT課件10011111000000010000010011111011位操作4.位操作實例

(1)把變量的某位清零:此處我們以變量a代表寄存器,并假設寄存器中本來已有數值,此時我們需要把變量a的某一位清零,且其它位不變。如下代碼清單:1//定義一個變量a=10011111b(二進制數)2unsignedchara=0x9f;3//對bit2清零4a&=~(1<<2);

5//括號中的1左移兩位,(1<<2)得二進制數:00000100b6//按位取反,~(1<<2)得11111011b7//假如a中原來的值為二進制數:a=10011111b8//所得的數與a作”位與&”運算,a=(10011111b)&(11111011b),9//經過運算后,a的值a=10011011b&10//a的bit2位被被零,而其它位不變。10011011本課件是可編輯的正常PPT課件

100000110000000100000100100000110000010010000111位操作4.位操作實例(2)對變量的某位進行賦值寄存器位通過“|=”可以對某位進行賦值。1//a=10000011b2a|=(1<<2);3//a=10000111b本課件是可編輯的正常PPT課件位操作4.位操作實例(3)對變量的某位取反我們需要對寄存器的某個位進行取反操作,即1變0,0變1,這可以直接用如下操作,其它位不變,見代碼清單。1//a=10010011b2//把bit6取反,其它位不變34a^=(1<<6);5//a=11010011b本課件是可編輯的正常PPT課件define宏定義define是C語言中的預處理命令,用于宏定義,可以提高源代碼的可讀性,方便編程。常見的格式:#define標識符字符串其中“標識符”是指:宏定義的宏名“字符串”可以是常數、表達式、格式串等例:#definePLL_M8定義PLL_M的值為8本課件是可編輯的正常PPT課件ifdef條件編譯單片機程序開發過程中,經常會遇到一些情況:當滿足某條件時對一組語句進行編譯,而當條件不滿足時則編譯另一組語句。條件編譯命令的常見形式:#ifdef標識符程序段1#else程序段2#endif作用:當標識符已經被定義過(一般使用#define命令定義),則對程序段1進行編譯,否則編譯程序段2。本課件是可編輯的正常PPT課件extern變量聲明C語言中extern可以置于變量或函數前,以表示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。注意,對于extern聲明變量可以多次,但定義只有一次。例:如果看到externu16USART_RX_STA,那么一定就有一個地方定義了u16USART_RX_STA還要注意:extern只能引用,不能賦值。本課件是可編輯的正常PPT課件typedef類型別名typedef用于為現有類型創建一個新的名字,或稱為類型別名,用來簡化變量的定義。typedefstruct{uint32_tGPIO_Pin;GPIOMode_TypeDefGPIO_ModeGPIOSpeed_TypeDefGPIO_SpeedGPIOOType_TypeDefGPIO_OType;GPIOPuPd_TypeDefGPIO_PuPd}GPIO_InitTypeDef;這個意思就是為結構體定義了一個類型別名GPIO_InitTypeDef這樣就可以通過這個類型定義變量了:GPIO_InitTypeDefmy_GPIO;本課件是可編輯的正常PPT課件結構體聲明結構體類型:Struct結構體名{成員列表;}變量名列表;StructU_TYPE{IntBaudRate;IntWordLength;}Usart1,Usart2;這個意思是定義了兩個結構體類型的變量Usart1和Usart2。本課件是可編輯的正常PPT課件小結位操作define宏定義ifdef條件編譯extern變量申明typedef變量別名結構體本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

GPIO結構本課件是可編輯的正常PPT課件STM32寄存器開發步驟STM32微控制通過寄存器開發可參考STM32xxxx參考手冊(以STM32F4xx參考手冊為例)。1、新建工程2、了解STM32微控制時鐘框圖3、了解STM32微控制器GPIO內部結構4、了解寄存器使用方法5、配置GPIO6、點亮一盞LED燈本課件是可編輯的正常PPT課件STM32微控制器-GPIO工作模式本課件是可編輯的正常PPT課件STM32微控制器-GPIO工作模式輸入模式輸入浮空輸入上拉輸入下拉模擬功能輸出模式具有上拉或下拉功能的開漏輸出具有上拉或下拉功能的推挽輸出具有上拉或下拉功能的復用功能推挽具有上拉或下拉功能的復用功能開漏本課件是可編輯的正常PPT課件GPIO輸入浮空/上拉/下拉模式本課件是可編輯的正常PPT課件GPIO模擬模式本課件是可編輯的正常PPT課件GPIO開漏輸出模式本課件是可編輯的正常PPT課件GPIO推挽輸出模式本課件是可編輯的正常PPT課件GPIO開漏復用輸出模式本課件是可編輯的正常PPT課件GPIO推挽復用輸出模式本課件是可編輯的正常PPT課件推挽和開漏推挽輸出:可以輸出強高低電平,連接數字器件

本課件是可編輯的正常PPT課件推挽和開漏推挽輸出:可以輸出強高低電平,連接數字器件

本課件是可編輯的正常PPT課件推挽和開漏開集

如圖,開集的意思,就是集電極C一端什么都不接,直接作為輸出端口。如果要用這種電路帶一個負載,比如一個LED,必須接一個上拉電阻,就像這樣。當Vin沒有電流,Q5斷開時,LED亮。

當Vin流入電流,Q5導通時,LED滅。本課件是可編輯的正常PPT課件推挽和開漏開漏電路,就是把上圖中的三極管換成場效應管(MOSFET)。

N型場效應管各個端口的名稱:

本課件是可編輯的正常PPT課件推挽和開漏開漏輸出:只可以輸出強低電平,高電平得靠外部電阻拉高。輸出端相當于三極管的集電極.要得到高電平狀態需要上拉電阻才行.適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內)本課件是可編輯的正常PPT課件STM32微控制器-GPIO(通用I/O)每個通用I/O端口包括:

4個32位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR和GPIOx_PUPDR)2個32位數據寄存器(GPIOx_IDR和GPIOx_ODR)1個32位置位/復位寄存器(GPIOx_BSRR)1個32位鎖定寄存器(GPIOx_LCKR)2個32位復用功能選擇寄存器(GPIOx_AFRH和GPIOx_AFRL)本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

時鐘樹本課件是可編輯的正常PPT課件STM32寄存器開發步驟STM32微控制通過寄存器開發可參考STM32xxxx參考手冊(以STM32F4xx參考手冊為例)。1、新建工程2、了解STM32微控制時鐘框圖3、了解STM32微控制器GPIO內部結構4、了解寄存器使用方法5、配置GPIO6、點亮一盞LED燈本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘注:時鐘框圖可參考STM324xx參考手冊本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘系統時鐘分類:STM32F4有5個最重要的時鐘源,分別為:HSI,HSE,LSI,LSE,PLL。從時鐘頻率上分為:高速時鐘:HIS,HSE,PLL;低速時鐘:LSI,LSE從來源可以分為:外部時鐘源:HSE,LSE內部時鐘源:HIS,LSI,PLL本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘1:LSI是低速內部時鐘,RC振蕩器,頻率為32KHz左右,供獨立看門狗和自動喚醒單元使用2:LSE是低速外部時鐘,接頻率為32.768KHz的石英晶體。這個主要是RTC的時鐘源3:HSE是高速外部時鐘,可接石英/陶瓷諧振器或者接外部時鐘源,頻率范圍為4MHz~26MHz。我們的開發板接的是8MHz的晶振。HSE可以直接作為系統時鐘或者PLL輸入4:HSI是高速內部時鐘,RC振蕩器頻率為16MHz,可以直接作為系統時鐘或者用于PLL輸入5:PLL為鎖相環倍頻輸出。本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘5:PLL為鎖相環倍頻輸出。STM32F4有兩個PLL:主PLL由HSE或HIS提供時鐘信號,并具有兩個不同的輸出時鐘第一個輸出PLLP用于生成高速的系統時鐘(最高168MHz)第二個輸出PLLQ用于生成USBOTGFS的時鐘(48MHz),隨機數發生器的時鐘和SDIO的時鐘專用PLL(PLLI2S)用于生成精確時鐘,從而在I2S接口實現高品質音頻性能本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘主PLL輸出第一個高速時鐘PLLP的計算方法:時鐘源頻率/M*N/PPLLCLKSYSCLK如:外部晶振HSE為8MHz,設定M=8,N=336,P=28MHz/8*336/2=168MHz選擇HSE為PLL時鐘源,同時SYSCLK時鐘源為PLL,那么SYSCLK時鐘為168MHz。本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘A.這里是看門狗時鐘輸入。從圖中可以看出,看門狗時鐘源只能是低速的LSI時鐘。B.這里是RTC時鐘源,從圖上可以看出,RTC的時鐘源可以選擇LSI,LSE,以及HSE分頻后的時鐘,HSE分頻系數為2~31。C.這里是STM32F4輸出時鐘MCO1和MCO2。MCO1是向芯片的PA8引腳輸出時鐘。它有四個時鐘來源分別為:HSI,LSE,HSE和PLL時鐘。MCO2是向芯片的PC9輸出時鐘,它同樣有四個時鐘來源分別為:HSE,PLL,SYSCLK以及PLLI2S時鐘。MCO輸出時鐘頻率最大不超過100MHz。D.這里是系統時鐘。SYSCLK系統時鐘來源有三個方面:HSI,HSE和PLL。在我們實際應用中,因為對時鐘速度要求都比較高我們才會選用STM32F4這種級別的處理器,所以一般情況下,都是采用PLL作為SYSCLK時鐘源。根據前面的計算公式,大家就可以算出你的系統的SYSCLK是多少。本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘E.

這里我們指的是以太網PTP時鐘,AHB時鐘,APB2高速時鐘,APB1低速時鐘。這些時鐘都是來源于SYSCLK系統時鐘。其中以太網PTP時鐘是使用系統時鐘。AHB,APB2和APB1時鐘是經過SYSCLK時鐘分頻得來。這里大家記住,AHB最大時鐘為168MHz,APB2高速時鐘最大頻率為84MHz,而APB1低速時鐘最大頻率為42MHz。B.這里是RTC時鐘源,從圖上可以看出,RTC的時鐘源可以選擇LSI,LSE,以及HSE分頻后的時鐘,HSE分頻系數為2~31。F.這里是指I2S時鐘源。I2S的時鐘源來源于PLLI2S或者映射到I2S_CKIN引腳的外部時鐘。I2S出于音質的考慮,對時鐘精度要求很高。STM32F4開發板使用的是內部PLLI2SCLK。本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘G.這是STM32F4內部以太網MAC時鐘的來源。對于MII接口來說,必須向外部PHY芯片提供25Mhz的時鐘,這個時鐘,可以由PHY芯片外接晶振,或者使用STM32F4的MCO輸出來提供。然后,PHY芯片再給STM32F4提供ETH_MII_TX_CLK和ETH_MII_RX_CLK時鐘。對于RMII接口來說,外部必須提供50Mhz的時鐘驅動PHY和STM32F4的ETH_RMII_REF_CLK,這個50Mhz時鐘可以來自PHY、有源晶振或者STM32F4的MCO。我們的開發板使用的是RMII接口,使用PHY芯片提供50Mhz時鐘驅動STM32F4

ETH_RMII_REF_CLK。H.這里是指外部PHY提供的USBOTGHS(60MHZ)時鐘。本課件是可編輯的正常PPT課件STM32微控制器-系統時鐘本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

STM32寄存器開發-新建工程本課件是可編輯的正常PPT課件STM32寄存器開發步驟STM32微控制通過寄存器開發可參考STM32xxxx參考手冊(以STM32F4xx參考手冊為例)。1、新建工程2、了解STM32微控制時鐘框圖3、了解STM32微控制器GPIO內部結構4、了解寄存器使用方法5、配置GPIO6、點亮一盞LED燈本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程雙擊keil5的圖標,打開如下界面本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程Project->NewProject命名為first_reg,保存在路徑下本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程選擇器件->STM32F407ZGT6,點擊OK本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程勾選CMSIS中的CORE和Device中的Startup,點擊OK本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程建好工程后,加載一個C文件,右擊SourceGroup1,添加新建項目,選擇CFile(.c),命名為main.c,點擊Add。本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程建好工程后,加載一個C文件,右擊SourceGroup1,添加新建項目,選擇CFile(.c),命名為main.c,點擊Add。本課件是可編輯的正常PPT課件STM32寄存器開發-新建工程然后在main.c中添加程序,進行編譯,出現下面無錯誤無警告就編譯完成,可以下載程序了。編譯無錯誤,無警告下載本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

STM32寄存器開發-點亮led燈本課件是可編輯的正常PPT課件STM32寄存器開發步驟STM32微控制通過寄存器開發可參考STM32xxxx參考手冊(以STM32F4xx參考手冊為例)。1、新建工程2、了解STM32微控制時鐘框圖3、了解STM32微控制器GPIO內部結構4、了解寄存器使用方法5、配置GPIO6、點亮一盞LED燈本課件是可編輯的正常PPT課件STM32微控制器-GPIO工作方式上電復位后,GPIO默認為浮空狀態,部分特殊功能引腳為特定狀態。本課件是可編輯的正常PPT課件每組GPIO端口的寄存器包括:一個端口模式寄存器(GPIOx_MODER)一個端口輸出類型寄存器(GPIOx_OTYPER)一個端口輸出速度寄存器(GPIOx_OSPEEDR)一個端口上拉下拉寄存器(GPIOx_PUPDR)一個端口輸入數據寄存器(GPIOx_IDR)一個端口輸出數據寄存器(GPIOx_ODR)一個端口置位/復位寄存器(GPIOx_BSRR)一個端口配置鎖存寄存器(GPIOx_LCKR)兩個復位功能寄存器(低位GPIOx_AFRL&GPIOx_AFRH)4個32位配置寄存器2個32位數據寄存器如果配置一個IO口需要2個位,那么剛好32位寄存器配置一組IO口16個IO口如果配置一個IO口只需要1個位,一般高16位保留BSRR寄存器32位分為低16位BSRRL和高16位BSRRH,BSRRL配置一組IO口的16個IO口的置位狀態(1),BSRRH配置復位狀態(0)。是每組IO口含10個寄存器。也就是10個寄存器,一共可以控制一組GPIO的16個IO口。STM32微控制器-GPIO本課件是可編輯的正常PPT課件RCCAHB1外設時鐘使能寄存器(RCC_AHB1ENR)本課件是可編輯的正常PPT課件端口模式寄存器(GPIOx_MODER)本課件是可編輯的正常PPT課件1.2GPIO相關配置寄存器端口輸出類型寄存器(GPIOx_OTYPER)本課件是可編輯的正常PPT課件1.2GPIO相關配置寄存器端口輸出速度寄存器(GPIOx_OSPEEDR)本課件是可編輯的正常PPT課件1.2GPIO相關配置寄存器端口上拉/下拉寄存器(GPIOx_PUPDR)本課件是可編輯的正常PPT課件1.2GPIO相關配置寄存器端口輸入數據寄存器(GPIOx_IDR)本課件是可編輯的正常PPT課件1.2GPIO相關配置寄存器端口置位/復位寄存器(GPIOx_BSRR)本課件是可編輯的正常PPT課件GPIO端口輸出數據寄存器(GPIOx_ODR)(x=A..I)本課件是可編輯的正常PPT課件STM32微控制器GPIO配置

STM32微控制器GPIO配置相關寄存器1.開啟GPIO時鐘

RCC_AHB1ENR寄存器 外設時鐘使能寄存器2.配置GPIO工作模式

GPIOx_MODER寄存器 GPIO模式寄存器

GPIOx_OTYPER寄存器 輸出類型寄存器

GPIOx_OSPEEDR寄存器 輸出速度寄存器

GPIOx_PUPDR寄存器 上拉/下拉/浮空寄存器3.控制GPIO輸入/輸出

GPIOx_IDR寄存器 GPIO輸入寄存器

GPIOx_ODR寄存器 GPIO輸出寄存器 注:相關寄存器可參考STM32xxxx參考手冊6.3.12本課件是可編輯的正常PPT課件STM32微控制器GPIO配置GPOI輸出配置步驟:①開啟GPIO時鐘

RCC->AHB1ENR②配置GPIO模式寄存器

GPIOH->MODER③配置GPIO輸出類型寄存器

GPIOH->OTYPER④配置GPIO上拉/下拉寄存器

GPIOH->PUPDR⑤配置GPIO速度寄存器

GPIOH->OSPEEDR6控制GPIO輸入/輸出GPIOx->IDR寄存器GPIOx->ODR寄存器本課件是可編輯的正常PPT課件GPIO開發任務請使用寄存器開發,通過GPIOA0、A1、A2、A3點亮led燈。硬件電路圖:led燈連接GPIOA0、A1、A2、A3要點亮led燈,應使這四個IO口為低電平本課件是可編輯的正常PPT課件完成編程任務//GPIO掛在AHB1時鐘總線上,開啟AHB1的時鐘RCC->AHB1ENR|=1;//配置輸出模式GPIOA->MODER&=0xFFFFFF00;//清除GPIOA->MODER|=0xFFFFFF55;//置為01010101//輸出類型GPIOA->OTYPER&=0xFFFFFF00;//輸出速度GPIOA->OSPEEDR|=0xFFFFFFAA;//配置上下拉GPIOA->PUPDR&=0xFFFFFF00;GPIOA->PUPDR|=0xFFFFFF55;//控制GPIO輸出GPIOA->ODR&=0xFFFFFF00; 本課件是可編輯的正常PPT課件本課件是可編輯的正常PPT課件小結STM32寄存器開發步驟:1、新建工程2、了解STM32微控制時鐘框圖3、了解STM32微控制器GPIO內部結構4、了解寄存器使用方法5、配置GPIO6、點亮LED燈本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

STM32庫函數開發-工程模板的建立本課件是可編輯的正常PPT課件工程模板的建立

STM32工程管理 STM32庫函數工程模板創建本課件是可編輯的正常PPT課件STM32工程管理工程目錄:USER-------------用戶文件SYSTEM---------系統文件CORE-------------微控制器軟件接口標準文件HARDWARE----外設文件FWLIB------------固件庫函數本課件是可編輯的正常PPT課件USER用戶文件STM32工程管理main.c 主源文件main.h主庫函數stm32f4xx_it.c

相關中斷源文件stm32f4xx_it.h

相關中斷.h文件system_stm32f4xx.c系統源文件system_stm32f4xx.h系統.h文件stm32f4xx_conf.h外設驅動配置文件。在ST官網下載最新標準固件庫(STM32F4xx_DSP_StdPeriph_Lib_V1.8.0)并解壓,從中選擇需要的文件,拷貝到下面的文件夾中。本課件是可編輯的正常PPT課件SYSTEM系統文件

delay文件sys文件usart文件

delay.c 延時函數文件delay.h sys.c 位帶操作函數文件

sys.husart.c 串口操作函數文件

usart.hSTM32工程管理本課件是可編輯的正常PPT課件CORE微控制器軟件接口標準文件

core_cm4.h

內核功能的定義core_cmFunc.h 內核核心功能接口頭文件core_cmInstr.h 包含內核核心專用指令core_cmSimd.h 包含與編譯器相關的處理 startup_stm32f40_41xxx.s

啟動文件stm32f4xx.h

頭文件STM32工程管理本課件是可編輯的正常PPT課件HARDWARE外設文件

led.c LED燈led.h

key.c 按鍵key.hlcd.c LCD顯示屏lcd.h...... 外設文件STM32工程管理本課件是可編輯的正常PPT課件FWLIB文件incsrcmisc.h stm32f40x_rcc.h 庫函數對應頭文件stm32f40x_gpio.h。。。。。。misc.cstm32f40x_rcc.c 庫函數源文件

stm32f40x_gpio.c。。。。。。STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_DriverSTM32工程管理本課件是可編輯的正常PPT課件STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Includecore_cm4.hcore_cmFunc.hcore_cmInstr.hcore_cmSimd.hSTM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\armstartup_stm32f40_41xxx.sSTM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templatessystem_stm32f4xx.cSTM32工程管理本課件是可編輯的正常PPT課件stm32f4xx.h

system_stm32f4xx.h

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\IncludeSTM32工程管理STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates

stm32f4xx_it.c

stm32f4xx_it.hSTM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templatesstm32f40x_conf.h本課件是可編輯的正常PPT課件STM32工程管理本課件是可編輯的正常PPT課件STM32工程管理本課件是可編輯的正常PPT課件STM32工程管理本課件是可編輯的正常PPT課件STM32庫函數工程模板創建打開KeiluVision5,新建工程,保存在USR文件夾中。選擇CPU(STM32F407ZG),點擊OK后可以退出,不需要選擇配套固件。本課件是可編輯的正常PPT課件STM32庫函數工程模板創建在所建的工程中添加文件,如圖,點擊manage管理工程。本課件是可編輯的正常PPT課件庫函數開發STM32庫函數工程模板創建本課件是可編輯的正常PPT課件庫函數開發STM32庫函數工程模板創建本課件是可編輯的正常PPT課件小結讓我們一起開始進行庫函數編程吧!工程管理—5個文件夾(從固件庫中拷貝內容)工程模板的建立—建立工程,進行參數修改本課件是可編輯的正常PPT課件ARM微控制器與嵌入式系統

庫函數開發-點亮led燈本課件是可編輯的正常PPT課件內容認識GPIO結構體打開時鐘了解GPIO庫函數了解開發板硬件電路編程方法完成任務本課件是可編輯的正常PPT課件GPIO結構體typedefstruct{uint32_tGPIO_Pin;GPIOMode_TypeDefGPIO_Mode;GPIOSpeed_TypeDefGPIO_Speed;GPIOOType_TypeDefGPIO_OType;GPIOPuPd_TypeDefGPIO_PuPd;}GPIO_InitTypeDef;本課件是可編輯的正常PPT課件GPIOMode結構體typedefenum{GPIO_Mode_IN=0x00,/*!<GPIOInputMode*/GPIO_Mode_OUT=0x01,/*!<GPIOOutputMode*/GPIO_Mode_AF=0x02,/*!<GPIOAlternatefunctionMode*/GPIO_Mode_AN=0x03/*!<GPIOAnalogMode*/}GPIOMode_TypeDef;本課件是可編輯的正常PPT課件GPIOOType結構體typedefenum{GPIO_OType_PP=0x00,GPIO_OType_OD=0x01}GPIOOType_TypeDef;本課件是可編輯的正常PPT課件GPIOSpeed結構體typedefenum{GPIO_Low_Speed=0x00,/*!<Lowspeed*/GPIO_Medium_Speed=0x01,/*!<Mediumspeed*/GPIO_Fast_Speed=0x02,/*!<Fastspeed*/GPIO_High_Speed=0x03/*!<Highspeed*/}GPIOSpeed_TypeDef;#defineGPIO_Speed_2MHzGPIO_Low_Speed#defineGPIO_Speed_25MHzGPIO_Medium_Speed#defineGPIO_Speed_50MHzGPIO_Fast_Speed#defineGPIO_Speed_100MHzGPIO_High_Speed本課件是可編輯的正常PPT課件GPIOPuPd結構體typedefenum{GPIO_PuPd_NOPULL=0x00,GPIO_PuPd_UP=0x01,GPIO_PuPd_DOWN=0x02}GPIOPuPd_TypeDef;本課件是可編輯的正常PPT課件GPIO結構體typedefenum{Bit_RESET=0,Bit_SET}BitAction;本課件是可編輯的正常PPT課件GPIO結構體#defineGPIO_Pin_0((uint16_t)0x0001)/*Pin0selected*/#defineGPIO_Pin_1((uint16_t)0x0002)/*Pin1selected*/#defineGPIO_Pin_2((uint16_t)0x0004)/*Pin2selected*/#defineGPIO_Pin_3((uint16_t)0x0008)/*Pin3selected*/#defineGPIO_Pin_4((uint16_t)0x0010)/*Pin4selected*/#defineGPIO_Pin_5((uint16_t)0x0020)/*Pin5selected*/#defineGPIO_Pin_6((uint16_t)0x0040)/*Pin6selected*/#defineGPIO_Pin_7((uint16_t)0x0080)/*Pin7selected*/#defineGPIO_Pin_8……((uint16_t)0x0100)/*Pin8selected*/#defineGPIO_Pin_15((uint16_t)0x8000)/*Pin15selected*/#defineGPIO_Pin_All((uint16_t)0xFFFF)/*Allpinsselected*/本課件是可編輯的正常PPT課件STM32微控制器-添加頭文件添加全局宏定義:USE_STDPERIPH_DRIVER#ifdefUSE_STDPERIPH_DRIVER#include"stm32f4xx_conf.h"#endif在stm32f4xx_conf.h中加載了這些庫函數:本課件是可編輯的正常PPT課件STM32微控制器-添加頭文件主要添加頭文件:#include"stm32f4xx.h"#include"main.h"而stm32f4xx_gpio.h、stm32f4xx_rcc.h已經包含只需要在fwlib中添加源文件:stm32f4xx_gpio.c、stm32f4xx_rcc.c即可。注意:這里需要用到哪個源文件就加哪個,這里需要用GPIO點亮led燈,因此添加rcc和gpio即可。本課件是可編輯的正常PPT課件STM32微控制器-重要函數1個初始化函數:voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);2個讀取輸入電平函數:uint8_tGPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);uint16_tGPIO_ReadInputData(GPIO_TypeDef*GPIOx);2個讀取輸出電平函數:uint8_tGPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);uint16_tGPIO_ReadOutputData(GPIO_TypeDef*GPIOx);本課件是可編輯的正常PPT課件STM32微控制器-重要函數4個設置輸出電平函數:voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal);voidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_tPortVal);本課件是可編輯的正常PPT課件STM32微控制器-庫函數1個初始化函數:

voidGPIO_Init(GPIO_Type

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論