官术网_书友最值得收藏!

1.2 基于ARM Cortex-M3的STM32單片機教學(xué)開發(fā)板

本書除了介紹基于ARM Cortex-M3的STM32F103xx微控制器單片機原理與應(yīng)用開發(fā)外,還將引導(dǎo)你如何運用STM32F103xx微控制器開發(fā)板控制機器人運動與感知周邊環(huán)境,并采用C語言對STM32F103xx進行編程,使機器人實現(xiàn)下述4個基本智能任務(wù)。

(1)安裝傳感器以探測周邊環(huán)境;

(2)基于傳感器信息做出決策;

(3)控制機器人運動(通過操作帶動輪子旋轉(zhuǎn)的電機);

(4)與用戶交換信息;

通過這些任務(wù)的完成,使大家在無限的樂趣之中,不知不覺地掌握基于ARM Cortex-M3的STM32F103xx微控制器(32位單片機)原理與應(yīng)用開發(fā)技術(shù),以及C語言程序設(shè)計技術(shù),輕松走上基于ARM Cortex-M3的STM32微控制器(32位單片機)嵌入式系統(tǒng)開發(fā)與設(shè)計之路。本書所用教學(xué)開發(fā)板如圖1.2所示。由于STM32F103xx系列微控制器具有全兼容性,因此可以選用STM32F103VB、STM32F103VC、STM32F103VD、STM32F103VE,以獲得更多存儲空間和片上資源。

圖1.2 STM32F103xx增強型微控制器單片機教學(xué)開發(fā)板

圖1.3所示的是本書使用的機器人工程對象,它采用ARM Cortex-M3處理器作為大腦,通過教學(xué)(開發(fā))板安裝在機器人底盤上。本書將以此機器人作為典型工程對象,引導(dǎo)大家學(xué)習(xí)STM32F103xx微控制器單片機原理與應(yīng)用開發(fā),并完成一個簡單機器人所需具備的四種基本能力,使機器人具有基本的智能。

圖1.3 基于ARM Cortex-M3處理器的STM32機器人小車

本章首先通過以下步驟告訴你如何安裝和使用基于ARM Cortex-M3的STM32微控制器單片機的編程開發(fā)環(huán)境,并用C語言開發(fā)一個簡單的程序。具體任務(wù)包括:

● 安裝開發(fā)編程軟件;

● 連接教學(xué)(開發(fā))板到供電電源或者電池;

● 連接教學(xué)(開發(fā))板ISP接口到計算機,以便編程;

● 連接教學(xué)(開發(fā))板串行接口到計算機,以便調(diào)試和交互;

● 運用C語言編寫程序,編譯生成可執(zhí)行文件,然后下載到單片機上,觀察執(zhí)行結(jié)果;

● 完成后斷開電源。

任務(wù)一 獲得軟件

在本課程的學(xué)習(xí)中,你將反復(fù)用到幾款軟件:RealView MDK(Microcontroller Development Kit)集成開發(fā)環(huán)境、串口調(diào)試軟件等。集成開發(fā)環(huán)境允許你在電腦上編寫程序,并編譯生成可執(zhí)行文件,然后下載到單片機上;串口調(diào)試軟件則是讓你知道單片機微控制器在做什么,觀察執(zhí)行結(jié)果。

1.RealView MDK集成開發(fā)環(huán)境

RealView MDK開發(fā)套件源自德國Keil公司,是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具。RealView MDK集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括μVision 3集成開發(fā)環(huán)境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設(shè)備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本RVCT 3.1可將性能改善超過20%。你可以在Keil公司的官方網(wǎng)站www.keil.com網(wǎng)站上獲得該軟件的安裝包,安裝后包含STM32F10x系列處理器片上外圍接口固件庫(Fireware Library)。

另外一個常見的集成開發(fā)環(huán)境是IAR EWARM,它是IAR Systems公司針對各種嵌入式處理器的軟件開發(fā)工具,涉及嵌入式系統(tǒng)的設(shè)計、開發(fā)和測試的每一個階段,包括帶有C/C++編譯器和調(diào)試器的集成開發(fā)環(huán)境、實時操作系統(tǒng)和中間件、開發(fā)套件、硬件仿真器,以及狀態(tài)機建模工具。其最著名的產(chǎn)品是C編譯器——IAR Embedded Workbench,支持眾多知名半導(dǎo)體公司的微處理器,包括ARM、8051、AVR32、MSP430等內(nèi)核和MCU。

2.串口調(diào)試軟件

此軟件是用來顯示單片機與計算機的交互信息的。在硬件上,你的計算機至少要有串口或USB接口來與單片機教學(xué)開發(fā)板的串口連接。

任務(wù)二 安裝軟件

到目前為止,你已獲得了軟件安裝包,包括某個版本的MDK安裝包、串口調(diào)試終端、STM32庫文件和本書例程的源碼。軟件的安裝與其他軟件安裝過程一樣。先安裝MDK:

(1)執(zhí)行MDK安裝程序,雙擊MDK安裝文件圖標,進行安裝。

(2)在后續(xù)出現(xiàn)的窗口中依次單擊Next按鈕,將程序安裝在C:\Keil MDK***文件目錄下(***:表示版本號,默認安裝路徑是C:\Keil,建議換個路徑名,以防止與51單片機開發(fā)環(huán)境沖突)。安裝好以后,查看安裝路徑下ARM子目錄的結(jié)構(gòu)。

● BIN目錄下面一般是一些動態(tài)鏈接文件;

● BINxx目錄下面放置的是一些編譯器和鏈接器;

● Boards和Examples目錄下面放置的是一些例程:Boards目錄下放置的是根據(jù)一些廠商所設(shè)計的開發(fā)板例子,而Examples下面則是一些更大眾化的例程。

● Flash目錄下面放置的是一些廠商的Flash芯片所用到的驅(qū)動程序,可以以其中的例程為模板,來添加自己的驅(qū)動。

● HLP目錄下面是一些幫助文檔。

● INC目錄下存放的是支持ST公司、Philips公司、Atmel公司等基于ARM Cortex-M3的各種微控制器的頭文件,如在ST公司目錄下有STM32F10X系列微控制器的固件庫頭文件。

● RL和RT Agent兩個目錄下面是一些免費的操作系統(tǒng),如果想寫編寫實時操作系統(tǒng),可以參考這兩個文件夾里面的資料。

● RV31目錄里面是RealView編譯器所使用的一些庫文件;RV31\LIB目錄下存放的是固件庫源代碼。可以打開文件,查看MDK自帶的STM32F10x固件庫版本。

● Segger和Signum兩個目錄下面是USB驅(qū)動。如果使用ULink進行硬件仿真時,找不到硬件,那么可以在這里面重新安裝驅(qū)動。

● Startup目錄下面放置的是各個芯片廠商的各種啟動代碼,在創(chuàng)建工程的時候編譯器會提示是否要添加啟動文件到工程下面。

● Utilities目錄下面放置的是PC機工具軟件用于調(diào)試人機接口(HID)和網(wǎng)絡(luò)接口。

(3)輸入License:運行Keil RealView MDK,選擇File菜單下的License Management子菜單,如圖1.4所示。

圖1.4 File菜單下的License Management子菜單

將License序列號復(fù)制到License Management中的New License ID Code(LIC)中,單擊ADD LIC完成,如圖1.5所示。

圖1.5 輸入License序列號

任務(wù)三 硬件連接

基于ARM Cortex-M3的STM32F103微控制器單片機教學(xué)開發(fā)板(或者說機器人大腦)需要連接電源以便運行,同時也需要連接到PC機或筆記本電腦以便編程和交互。以上接線完成后,你就可以用編輯器軟件來對系統(tǒng)進行開發(fā)與測試。下面將告訴你如何完成上述硬件連接任務(wù)。

串口線連接

STM32F103微控制器單片機教學(xué)開發(fā)板通過串口電纜連接到PC機或筆記本電腦上以便與用戶交互,如圖1.6(a)所示。如果你的計算機有串行接口,直接使用串口連接電纜。如果沒有,此時需要使用USB轉(zhuǎn)串口適配器,如圖1.6(b)所示。將一端的串口連接到你的教學(xué)開發(fā)板上,而另一端連接到計算的USB口上,并安裝對應(yīng)的USB驅(qū)動程序。

圖1.6 串口線連接

基于ULink的JTAG下載線連接

程序是通過連接到PC機或者筆記本電腦USB口的ULink來下載到教學(xué)開發(fā)板上的單片機內(nèi)。圖1.7所示為ULink下載工具。下載線一端通過USB線連接到PC機或者筆記本電腦的USB口上,而另一端連接到教學(xué)開發(fā)板上的JTAG口上。

圖1.7 ULink下載工具

如圖1.8所示,這里用的USB線一端是扁形(A型),一端是方形(B型),如圖1.8(a)所示。扁形口接電腦,方形口接ULink。USB線一般分為不帶屏蔽的USB線和帶屏蔽的USB線,外表有屏蔽層的就是帶屏蔽的USB線,如圖1.8(b)所示,右邊的USB線是帶屏蔽的,左邊的USB線是不帶屏蔽的。建議用于程序下載使用的USB線為帶屏蔽的。

圖1.8 USB線

電源和電池的安裝

教學(xué)開發(fā)板可以使用從電腦USB口引出的5V電源。使用圖1.8(b)左邊不帶屏蔽的USB線,扁形口接電腦,方形口接教學(xué)開發(fā)板。但需注意電腦引出的USB電源供電電流最大只有500mA,當給電機(舵機)供電時可能會造成供電電流不足,導(dǎo)致電機(舵機)不能正常工作。

教學(xué)開發(fā)板也可使用電池供電。本書使用的機器人采用4節(jié)五號堿性電池給機器人電機和教學(xué)開發(fā)板供電,可將電池盒引出的電源線插入電源插座(φ2.5細針)。在繼續(xù)下面的任務(wù)前,請先檢查機器人底部電池盒內(nèi)是否已經(jīng)裝好電池,并是否有正常的電壓輸出。如果沒有,請更換新的電池。更換過程中,確保每顆電池都按照塑料盒子里面標記的電池極性(“+”和“-”)方向裝入。

當然,教學(xué)開發(fā)板也可以使用外接的5V或6V輸出的電源適配器供電。

給教學(xué)開發(fā)板進行通電檢查

教學(xué)開發(fā)板上有一個電源三位開關(guān)。如圖1.9(a)所示,當開關(guān)撥到“0”位斷開教學(xué)開發(fā)板電源。無論你是否將電池組或者其他電源連接到教學(xué)開發(fā)板上,只要三位開關(guān)位于“0”位,那么設(shè)備就處于關(guān)閉狀態(tài)。

現(xiàn)在將三位開關(guān)由“0”位撥至“1”位,打開教學(xué)開發(fā)板電源,如圖1.9(b)所示。檢查教學(xué)開發(fā)上的LED電源指示燈是否變亮。如果沒有,檢查USB供電線纜或者電池盒的接頭是否已經(jīng)插到教學(xué)開發(fā)板的電源插座上。

圖1.9 電源三位開關(guān)

將開關(guān)撥至“2”后,電源不僅要給教學(xué)開發(fā)板供電,同時還會給機器人的執(zhí)行機構(gòu)——伺服電機供電,同樣地,此時LED電源指示燈仍然會變亮。

主站蜘蛛池模板: 玛沁县| 曲水县| 陕西省| 玉林市| 陇川县| 佛教| 德兴市| 屏山县| 鄂托克旗| 黎川县| 安溪县| 沂水县| 洪湖市| 万盛区| 华蓥市| 巫溪县| 永定县| 广汉市| 石河子市| 玉门市| 镇原县| 淮阳县| 石首市| 滦平县| 申扎县| 民权县| 元朗区| 蓝山县| 滦南县| 万山特区| 太湖县| 白城市| 广南县| 牡丹江市| 色达县| 墨江| 光山县| 泌阳县| 邵阳县| 城口县| 黑水县|