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

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

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

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

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

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

(4)與用戶交換信息;

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

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

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

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

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

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

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

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

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

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

● 完成后斷開電源。

任務一 獲得軟件

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

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

RealView MDK開發(fā)套件源自德國Keil公司,是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具。RealView MDK集成了業(yè)內(nèi)最領先的技術,包括μVision 3集成開發(fā)環(huán)境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與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)的設計、開發(fā)和測試的每一個階段,包括帶有C/C++編譯器和調(diào)試器的集成開發(fā)環(huán)境、實時操作系統(tǒng)和中間件、開發(fā)套件、硬件仿真器,以及狀態(tài)機建模工具。其最著名的產(chǎn)品是C編譯器——IAR Embedded Workbench,支持眾多知名半導體公司的微處理器,包括ARM、8051、AVR32、MSP430等內(nèi)核和MCU。

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

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

任務二 安裝軟件

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

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

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

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

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

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

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

● 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驅動。如果使用ULink進行硬件仿真時,找不到硬件,那么可以在這里面重新安裝驅動。

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

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

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

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

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

圖1.5 輸入License序列號

任務三 硬件連接

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

串口線連接

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

圖1.6 串口線連接

基于ULink的JTAG下載線連接

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

電源和電池的安裝

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

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

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

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

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

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

圖1.9 電源三位開關

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

主站蜘蛛池模板: 永新县| 来安县| 汉中市| 宽甸| 夏邑县| 乌审旗| 甘洛县| 九龙城区| 赣州市| 湘潭县| 航空| 额尔古纳市| 儋州市| 额敏县| 深州市| 丹江口市| 乌兰浩特市| 五华县| 江津市| 遂平县| 永新县| 阿勒泰市| 玉树县| 个旧市| 江油市| 民权县| 正蓝旗| 石泉县| 洛扎县| 来凤县| 延津县| 桐乡市| 宜君县| 定远县| 彭州市| 兴化市| 祥云县| 响水县| 兰坪| 安化县| 大英县|