(基于NESTR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì))_第1頁(yè)
(基于NESTR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì))_第2頁(yè)
(基于NESTR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì))_第3頁(yè)
(基于NESTR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì))_第4頁(yè)
(基于NESTR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 . . . 職業(yè)技術(shù)學(xué)院信息工程系XXXX屆計(jì)算機(jī)應(yīng)用專業(yè)畢業(yè)論文姓名:班級(jí):設(shè)計(jì)課題:基于NE-STR750開(kāi)發(fā)板的中斷控制器的設(shè)計(jì)指導(dǎo)教師:二一一年月日35 / 40摘要嵌入系統(tǒng)不同于以往的通用系統(tǒng),它具有高集成度、高專用性的特點(diǎn)。嵌入系統(tǒng)的設(shè)計(jì)者不再使用通用的中斷控制器芯片,而是必須設(shè)計(jì)出適應(yīng)于該嵌入系統(tǒng)需要的中斷控制器模塊。中斷分為增強(qiáng)型中斷控制器(EIC)和外部中斷控制器(EXTIT)。本次的實(shí)驗(yàn)是介紹外部中斷控制器的運(yùn)行環(huán)境與工作原理,在仿真器的幫助下完成對(duì)外部中斷控制器的設(shè)計(jì),通過(guò)觀察實(shí)驗(yàn)現(xiàn)象,知道外部中斷控制器的工作原理。本課題是在IAR EWARM集成開(kāi)發(fā)環(huán)境下創(chuàng)建工程,向

2、工程里添加所需的文件,設(shè)置工程項(xiàng)目配置,編譯,并將生成的映像文件下載到目標(biāo)板的RAM或Flash中進(jìn)行調(diào)試,由于在Flash中進(jìn)行調(diào)試要反復(fù)對(duì)片F(xiàn)lash編程,本實(shí)驗(yàn)將放在RAM中執(zhí)行關(guān)鍵字中斷嵌入系統(tǒng)增強(qiáng)型中斷控制器(EIC),外部中斷控制器(EXTIT)ABSTRACTEmbedded systems is different from the general system,it has a highly integrated,highspecific features.Embedded system designers no longer use the generic interrup

3、t controller chip,but must be designed to adapt to the needs of embedded system interrupt controller module.Enhanced intrrupt Controller interrupts are divided into(EIC)and the extemal interrupt controller(EXTIT).The experiment is to introduce an external interrupt controller,the operating envionmen

4、t and works in the emulator with the help of an external interrupt controller design,by observing the experimental results,to know the external interrupt controller works.This topic is in the integrated development environment IAR EWARM create projects,add to the project in the required file.set the

5、 project configuration,build and the resulting image file to download to the target boards RAM or Flash debug,due to Flash debugging to be repeated in the on-chip Flash programming,this experiment will be performed on the RAM.Keywords Interrupt,Emneddedsystems,EnhancedInterrupt Controller(EIC),Exter

6、nal Interrupt Controller(EXTIT)引言隨著VLSI技術(shù)進(jìn)入深亞微米時(shí)代,芯片集成度得到空前的提高。不僅僅是單一的功能模塊,甚至是一個(gè)完整的系統(tǒng)都可以被集成在芯片中。這是使得嵌入式系統(tǒng)(Embedded System)具備了性能高、體積小、功耗低等特點(diǎn),嵌入式系統(tǒng)的應(yīng)用也因此而迅速的發(fā)展起來(lái)。在實(shí)際的嵌入式系統(tǒng)應(yīng)用中,異步實(shí)時(shí)交互系統(tǒng)占了很大一部分,這就要求系統(tǒng)對(duì)數(shù)據(jù)或控制信號(hào)的輸入具有較高的響應(yīng)速度。而中斷方式相對(duì)于查詢方式具有響應(yīng)速度快,效率高的特點(diǎn)。因此中斷方式為多數(shù)嵌入式系統(tǒng)所采用。而中斷控制器的設(shè)計(jì)也由獨(dú)立器件變?yōu)槠舷到y(tǒng)的一部分,因此,中斷控制器的設(shè)計(jì)也就

7、成為嵌入式系統(tǒng)設(shè)計(jì)的重要組成部分。什么是中斷?中斷系統(tǒng)是計(jì)算機(jī)的重要組成部分。實(shí)時(shí)控制、故障自動(dòng)處理、計(jì)算機(jī)與外圍設(shè)備間的數(shù)據(jù)傳送往往采用中斷系統(tǒng)。中斷系統(tǒng)的應(yīng)用大大提高了計(jì)算機(jī)效率。不同的計(jì)算機(jī)其硬件結(jié)構(gòu)和軟件指令是不完全一樣的,因此,中斷系統(tǒng)也是不一樣的。計(jì)算機(jī)的中斷系統(tǒng)能夠加強(qiáng)CPU對(duì)多任務(wù)事件的處理能力。中斷機(jī)制是現(xiàn)代計(jì)算機(jī)系統(tǒng)中的基礎(chǔ)設(shè)施之一,它在系統(tǒng)中起著通信網(wǎng)絡(luò)作用,以協(xié)調(diào)系統(tǒng)對(duì)各種外部事件的響應(yīng)和處理。中斷是實(shí)現(xiàn)多道程序設(shè)計(jì)的必要條件。中斷是CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)。引起中斷的事件稱為中斷源。中斷源向CPU提出處理的請(qǐng)求稱為中斷請(qǐng)求。發(fā)生中斷時(shí)被打斷程序的暫停點(diǎn)

8、成為斷點(diǎn)。CPU暫?,F(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請(qǐng)求的過(guò)程稱為中斷響應(yīng)。處理中斷源的程序稱為中斷處理程序。CPU執(zhí)行有關(guān)的中斷處理程序稱為中斷處理。而返回?cái)帱c(diǎn)的過(guò)程稱為中斷返回。中斷的實(shí)現(xiàn)實(shí)行軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分稱為軟件處理程序。中斷的概念:指當(dāng)出現(xiàn)需要時(shí),CPU暫時(shí)停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的程序和執(zhí)行過(guò)程。即在程序運(yùn)行過(guò)程中,系統(tǒng)出現(xiàn)了一個(gè)必須由CPU立即處理的情況,此時(shí),CPU暫時(shí)中止程序的執(zhí)行轉(zhuǎn)而處理這個(gè)新的情況的過(guò)程就叫做中斷。第一章嵌入式系統(tǒng)11.1嵌入式系統(tǒng)概論11.1.1嵌入式的基本概念11.1.2嵌入式系統(tǒng)的特點(diǎn)11.1.3 嵌入式系統(tǒng)的應(yīng)用

9、圍11.2 基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)21.2.1 基于ARM核的嵌入式器件21.2.2 嵌入式系統(tǒng)開(kāi)發(fā)流程3第二章 NE-STR750開(kāi)發(fā)學(xué)習(xí)板與實(shí)驗(yàn)環(huán)境52.1 NE-STR750開(kāi)發(fā)學(xué)習(xí)板規(guī)格介紹52.1.1 NE-STR750開(kāi)發(fā)學(xué)習(xí)板簡(jiǎn)介52.1.2 NE-STR750開(kāi)發(fā)學(xué)習(xí)板的硬件資源.52.2 開(kāi)發(fā)板調(diào)試連接的方法與硬件布局62.2.1 開(kāi)發(fā)板調(diào)試連接的方法62.2.2 NE-STR750開(kāi)發(fā)學(xué)習(xí)板的硬件布局62.2.3 NE-STR750開(kāi)發(fā)學(xué)習(xí)板啟動(dòng)模式選擇介紹72.3 開(kāi)發(fā)集成環(huán)境介紹82.3.1 IAR EWARM開(kāi)發(fā)集成環(huán)境的介紹82.3.2 IAR EWARM集成開(kāi)

10、發(fā)環(huán)境的安裝步驟9第三章 EXTIT外部中斷控制器113.1 外部中斷控制器EXTIT的簡(jiǎn)介113.1.1 EXTIT的概念與功能描述113.1.2 EXTIT的主要特性與結(jié)構(gòu)圖113.2 外部中斷線的映射表與中斷向量表123.2.1 外部中斷線的映射表133.2.2中斷向量表143.3寄存器介紹15第四章實(shí)驗(yàn)環(huán)境搭建與程序介紹184.1實(shí)驗(yàn)環(huán)境搭建184.1.1 生成新的工作區(qū)184.1.2 給項(xiàng)目添加文件194.1.3設(shè)置項(xiàng)目選件204.2程序介紹254.2.1Main.c的介紹254.2.275xextit.c部分程序的介紹294.2.3 75x_it.c部分程序的介紹29第五章實(shí)驗(yàn)現(xiàn)象

11、與分析315.1編譯連接預(yù)處理315.2 用C-SPY調(diào)試程序315.3EXTIT實(shí)驗(yàn)現(xiàn)象32結(jié)論33致34參考文獻(xiàn)35第一章 嵌入式系統(tǒng)嵌入式技術(shù)是當(dāng)前發(fā)展最快、應(yīng)用最廣、最有發(fā)展前景的重要技術(shù)之一,已被廣泛應(yīng)用于工業(yè)控制、通信、西西家電、醫(yī)療儀器、智能儀器儀表、汽車電子、航空航天等各個(gè)領(lǐng)域。1.1 嵌入式系統(tǒng)概論1.1.1 嵌入式的基本概念國(guó)際電氣和電子工程師協(xié)會(huì)(IEEE)從應(yīng)用的角度對(duì)嵌入式系統(tǒng)的定義是:嵌入式系統(tǒng)是用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置。另一種從系統(tǒng)的角度定義是:嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)雜功能的軟件和硬件,并使其緊密耦合在一起的計(jì)算機(jī)系統(tǒng)。目前我們最常見(jiàn)、通用的定義

12、是:“嵌入式系統(tǒng)”是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟、硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積與功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。這是從技術(shù)的角度來(lái)定義的,更加全面,體現(xiàn)了嵌入式系統(tǒng)的“嵌入”、“專用性”、“計(jì)算機(jī)”的基本要素和特征。總之,凡是帶有微處理器的專用軟、硬件系統(tǒng)都可以稱之為“嵌入式系統(tǒng)”。(小資料:IEEE于1963年1月1日由AIEE(美國(guó)電氣工程師學(xué)會(huì))和IRE(美國(guó)無(wú)線電工程師學(xué)會(huì))合并而成,是美國(guó)規(guī)模最大的專業(yè)學(xué)會(huì)。IEEE是一個(gè)非營(yíng)利性科技學(xué)會(huì),該組織在太空、計(jì)算機(jī)、電信、生物學(xué)、電力與消費(fèi)電子產(chǎn)品等領(lǐng)域中的都是主要的權(quán)威。)1.1.2 嵌入式系統(tǒng)的特點(diǎn)與通用的

13、計(jì)算機(jī)系統(tǒng)相比,嵌入式系統(tǒng)具有以下特點(diǎn):(1) 系統(tǒng)核??;(2) 專用性強(qiáng);(3) 系統(tǒng)精簡(jiǎn);(4) 高實(shí)時(shí)性操作系統(tǒng)(Real-Time Operating System ,RTOS);(5) 嵌入式軟件開(kāi)發(fā)走向標(biāo)準(zhǔn)化;(6) 嵌入式系統(tǒng)開(kāi)發(fā)需要開(kāi)發(fā)工具和軟環(huán)境。1.1.3 嵌入式系統(tǒng)的應(yīng)用圍嵌入式系統(tǒng)可以說(shuō)是無(wú)所不在,由于嵌入式系統(tǒng)具有體積小、性能好、功耗低、可靠性高以與面向行業(yè)應(yīng)用的突出特征,目前已廣泛的應(yīng)用于各個(gè)領(lǐng)域當(dāng)中??梢院敛豢涞恼f(shuō),我們正生活在一個(gè)到處是嵌入式的世界。(1)工業(yè)控制領(lǐng)域。如工業(yè)過(guò)程控制、數(shù)控機(jī)床、電網(wǎng)安全、污水處理系統(tǒng)、自動(dòng)化工程、建筑設(shè)備、計(jì)算機(jī)輔助制造系統(tǒng)等。

14、(2)家電領(lǐng)域。如機(jī)頂盒、PDA、DVD、MP3播放器、數(shù)碼相機(jī)、數(shù)字電視、網(wǎng)絡(luò)空調(diào)與家庭網(wǎng)關(guān)之上。(3)商業(yè)和金融領(lǐng)域。如自動(dòng)柜員機(jī)、信用卡系統(tǒng)、售貨端系統(tǒng)與公共交通智能卡之上。(4)交通運(yùn)輸領(lǐng)域。如車輛導(dǎo)航、流量控制、信息監(jiān)控、公路運(yùn)輸、燃料服務(wù)、航空管理、雷達(dá)系統(tǒng)、交通指揮系統(tǒng)等方面。(5)通信領(lǐng)域。如交換系統(tǒng)。電纜系統(tǒng)、數(shù)據(jù)交換設(shè)備、手機(jī)等方面。(6)建筑領(lǐng)域。如電力供應(yīng)、備用電源和發(fā)電機(jī)、火警控制、供熱和通風(fēng)、電梯、車庫(kù)管理等方面。(7)環(huán)境監(jiān)控領(lǐng)域。如水文資料實(shí)時(shí)監(jiān)控、水土質(zhì)量檢測(cè)、地震檢測(cè)網(wǎng)控制、實(shí)時(shí)氣象信息網(wǎng)控制等方面。(8)醫(yī)療領(lǐng)域。如心臟除顫器、心臟起搏器、病員監(jiān)視系統(tǒng)、X

15、光設(shè)備等。1.2 基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)ARM處理器被越來(lái)越多的嵌入到各種產(chǎn)品中。一個(gè)基于ARM的嵌入式系統(tǒng)通常由以下硬件部分組成:ARM處理器、外設(shè)、控制器和總線。一個(gè)基于ARM的嵌入式系統(tǒng)包含以下軟件組成部分:初始化代碼、操作系統(tǒng)和應(yīng)用軟件。1.2.1 基于ARM核的嵌入式器件所有基于ARM的設(shè)備都是有一些軟件和硬件部件的組合。如圖1.4所示為一個(gè)典型使用ARM核的嵌入式期間框圖。圖中每個(gè)方框表示一個(gè)功能或接口,方框之間的連線是傳送數(shù)據(jù)的總線??梢园堰@個(gè)器件分為四個(gè)主要的硬件部分。(1) ARM處理器:控制整個(gè)器件。有多種版本的ARM處理器,以滿足不同的處理特性。(2) 控制器:協(xié)調(diào)系

16、統(tǒng)的重要功能模塊。(3) 外設(shè):提供芯片與外部的所有輸入/輸出功能,器件之間的一些獨(dú)有特性就是靠不同的外設(shè)來(lái)體現(xiàn)的。(4) 總線:用于在器件不同部件之間進(jìn)行通信。圖1-1 ARM核的嵌入式期間框圖 一個(gè)基于ARM的嵌入式系統(tǒng)包含以下的軟件組成部分:初始化(即啟動(dòng))代碼、操作系統(tǒng)和應(yīng)用程序。 初始化代碼配置硬件到一個(gè)確定的狀態(tài);初始化成功后,操作系統(tǒng)就能夠被裝載和執(zhí)行;操作系統(tǒng)提供一個(gè)通用的編程環(huán)境,以便各種應(yīng)用能高效地是使用系統(tǒng)的硬件資源;設(shè)備驅(qū)動(dòng)給外設(shè)提供一個(gè)標(biāo)準(zhǔn)的程序接口;應(yīng)用程序完成嵌入式系統(tǒng)的某個(gè)特定任務(wù)。1.2.2 嵌入式系統(tǒng)開(kāi)發(fā)流程嵌入式系統(tǒng)開(kāi)發(fā)涉與到硬件、軟件和人力資源等元素,以

17、此在系統(tǒng)開(kāi)發(fā)過(guò)程中,要綜合考慮以上各個(gè)方面。如圖1.5嵌入式開(kāi)發(fā)的一般過(guò)程。 (1)需求分析。確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說(shuō)明書(shū),作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。(2) 系統(tǒng)定義與結(jié)構(gòu)設(shè)計(jì)。描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分,以與系統(tǒng)的軟件、硬件選型等。(3)硬件、軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。基于體系結(jié)構(gòu),對(duì)系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開(kāi)發(fā)周期,設(shè)計(jì)往往是并行的。(4)系統(tǒng)集成與測(cè)試。把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過(guò)程中的錯(cuò)誤。(5) 項(xiàng)目評(píng)估與總結(jié)。

18、項(xiàng)目評(píng)估與總結(jié)是一個(gè)項(xiàng)目進(jìn)行的反饋機(jī)制。圖1-2 嵌入式開(kāi)發(fā)流程圖本章主要是介紹嵌入式系統(tǒng)的基礎(chǔ)。簡(jiǎn)單地說(shuō),嵌入系統(tǒng)是指操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中。從廣義上說(shuō),凡是帶有微處理器的專用軟、硬件都可以稱為嵌入式系統(tǒng)。與PC相比,嵌入式系統(tǒng)具有系統(tǒng)核小、專用性強(qiáng)、系統(tǒng)精簡(jiǎn)等特點(diǎn),被廣泛應(yīng)用于工業(yè)控制、家電、商業(yè)金融、交通運(yùn)輸、通信等各個(gè)領(lǐng)域。第二章 NE-STR750開(kāi)發(fā)學(xué)習(xí)板與實(shí)驗(yàn)環(huán)境2.1 NE-STR750開(kāi)發(fā)學(xué)習(xí)板規(guī)格介紹2.1.1NE-STR750開(kāi)發(fā)學(xué)習(xí)板簡(jiǎn)介NE-STR750開(kāi)發(fā)學(xué)習(xí)板是基于ARM7TDMI核的STR750xF微控制器的完全的開(kāi)發(fā)平臺(tái)?;诟咝?、靈活和開(kāi)

19、放的設(shè)計(jì),它使得用戶可以輕松快速地掌握該系列微控制器的各種外設(shè)以與其它的特性。NE-STR750開(kāi)發(fā)學(xué)習(xí)板具有豐富的外設(shè)接口,包括USB和RS-232連接器、操縱桿、CAN總線接口等。NE-STR750開(kāi)發(fā)學(xué)習(xí)板嵌ST-Link硬件仿真器能夠支持ST公司出產(chǎn)的基于ARM7、ARM9的各個(gè)系列微控制器的仿真與調(diào)試。整個(gè)開(kāi)發(fā)學(xué)習(xí)板使用簡(jiǎn)單,最少只需一根USB線就可以完成開(kāi)發(fā)的仿真與調(diào)試。不僅如此,本開(kāi)發(fā)學(xué)習(xí)板還向外擴(kuò)展了20針的JTAG口,可以用于其它微處理器的仿真與調(diào)試。2.1.2NE-STR750開(kāi)發(fā)學(xué)習(xí)板的硬件資源.NE-STR750開(kāi)發(fā)學(xué)習(xí)板的硬件資源有以下特性:(1)5V或3V供電選擇。

20、(2)供電方式:可通過(guò)嵌ST-Link仿真器供電或USB接口供電。(3)NE-STR750核心微控制器為STR50FV2T6。(4)嵌ST-Link在線仿真器以與20針的JTAG調(diào)試接口。(5)SPI Flash編程器接口和M25P08 SPI存儲(chǔ)器。(6)兩個(gè)RS-232連接插座(DB9)。(7)一個(gè)B型USB插座。(8)一個(gè)CAN連接插座(DB9)。(9)主時(shí)鐘振蕩器4MHZ和32MHZ振蕩器。(10)兩位7段LED數(shù)碼管。(11)4個(gè)LED發(fā)光管。(12)2個(gè)GPIO按鍵。(13)五方向開(kāi)關(guān)量輸入搖桿,包括上、下、左、右與選擇。(14)RESET按鍵。(15)一路電位器輸入模擬信號(hào)。(1

21、6)RTC時(shí)鐘。2.2 開(kāi)發(fā)板調(diào)試連接的方法與硬件布局2.2.1開(kāi)發(fā)板調(diào)試連接的方法使用開(kāi)發(fā)學(xué)習(xí)板上嵌的ST-Link進(jìn)行仿真調(diào)試。將開(kāi)發(fā)學(xué)習(xí)板上的JTAG跳線全部連接上,通過(guò)ST-Link連接開(kāi)發(fā)學(xué)習(xí)板與宿主機(jī)PC,并且選擇ST-Link為其供電,就可以進(jìn)行下載調(diào)試了。2.2.2 NE-STR750開(kāi)發(fā)學(xué)習(xí)板的硬件布局 NE-STR750開(kāi)發(fā)學(xué)習(xí)板是圍繞TQFP100引腳封裝的STR75xF而設(shè)計(jì)的,其硬件框圖如圖2-1所示。圖2-1 NE-STR750開(kāi)發(fā)學(xué)習(xí)板硬件框圖開(kāi)發(fā)板的資源布局如圖2-2所示:圖2-2 NE-STR750開(kāi)發(fā)學(xué)習(xí)板資源布局2.2.3 NE-STR750開(kāi)發(fā)學(xué)習(xí)板啟動(dòng)

22、模式選擇介紹NE-STR750開(kāi)發(fā)學(xué)習(xí)板可以從以下幾個(gè)存儲(chǔ)區(qū)啟動(dòng):(1) 嵌的Flash。JP6(0),JP7(0)(2) 嵌的SRAM。JP6(1),JP7(0)(3) 有Boot Loader的系統(tǒng)存儲(chǔ)器。JP6(0),JP7(1)(4) 外部64M位的串行存儲(chǔ)器。JP6(1),JP7(1)可以通過(guò)設(shè)置開(kāi)發(fā)學(xué)習(xí)板上的TP6和JP7來(lái)設(shè)置啟動(dòng)的地方,如圖2-3所示。本實(shí)驗(yàn)選擇是嵌的SRAM存儲(chǔ)區(qū)啟動(dòng)方法。用到的引腳接法是JP6(1),JP7(0)的接法。圖1-3啟動(dòng)模式選擇2.2.4 NE-STR750開(kāi)發(fā)學(xué)習(xí)板的電源介紹NE-STR750開(kāi)發(fā)學(xué)習(xí)板提供3.3V或5V電壓,通過(guò)設(shè)置跳線JP2

23、可選擇所需供電電壓。圖2-4 5V和3V供電選擇本實(shí)驗(yàn)中,整個(gè)開(kāi)發(fā)學(xué)習(xí)板供電是通過(guò)USB接口供電,直接用USB線將開(kāi)發(fā)板連接到USB接口。2.3開(kāi)發(fā)集成環(huán)境介紹2.3.1IAR EWARM開(kāi)發(fā)集成環(huán)境的介紹IAR EWARM(IAR Embeddeed Workbench for ARM)是IAR System 公司為ARM微處理器開(kāi)發(fā)的一個(gè)集成開(kāi)發(fā)環(huán)境。比較其它的ARM開(kāi)發(fā)環(huán)境,IAR EWARM 具有入門容易、使用方便和代碼緊湊等特點(diǎn)。 IAR EWARM中包含一個(gè)全軟件的模擬程序(simulator)。用戶不需要任何的硬件支持就可以模擬各種ARM核、外部設(shè)備甚至中斷的軟件運(yùn)行環(huán)境。從中可

24、以了解和評(píng)估IAR EWARMDE的功能和使用方法。2.3.2IAR EWARM集成開(kāi)發(fā)環(huán)境的安裝步驟首先,打開(kāi)我的電腦D:找到IAR EWARM軟件的安“EWARM-KS-WEB-440A,32KKickstart Edition.exe”安裝程序并行,然后單擊“Install the IAR Embedded Workbench”開(kāi)始安裝,如圖2-5所示。圖2-5 歡迎界面輸入許可證號(hào)(License)和密鑰(License Key),它們從軟件包中的EWARM-KS-WEB-440A,32K Kickstart Edition的文本文檔中提取。分別在圖2-6和圖2-7中輸入相關(guān)信息。圖2

25、-6 License輸入窗口圖2-7 License輸入窗口許可接受后一直按默認(rèn)設(shè)置安裝。安裝完成后退出即可。第三章 EXTIT外部中斷控制器3.1 外部中斷控制器EXTIT的簡(jiǎn)介3.1.1 EXTIT的概念與功能描述(1) 外部中斷的概念。外部中斷一般是指由計(jì)算機(jī)外設(shè)發(fā)出的中斷請(qǐng)求,如:鍵盤中斷、打印機(jī)中斷、定時(shí)器中斷等。外部中斷是可以屏蔽的中斷,也就是說(shuō),利用中斷控制器可以屏蔽這些外部設(shè)備的中斷請(qǐng)求。EXTIT包括16個(gè)用于產(chǎn)生中斷請(qǐng)求的邊緣檢測(cè)器,每個(gè)中斷線能夠獨(dú)立地設(shè)置觸發(fā)事件(上升沿或下降沿),也可以獨(dú)立地被屏蔽。掛起寄存器用于保存中斷請(qǐng)求的狀態(tài)。 (2) 中斷的功能描述。要產(chǎn)生中斷

26、,中斷線就要被設(shè)置并使能。這需要將觸寄存器設(shè)置成需要的極性,通過(guò)將屏蔽寄存器中的相應(yīng)位置1使能中斷請(qǐng)求。當(dāng)選擇的邊沿在外部中斷線上發(fā)生時(shí),中斷請(qǐng)求就產(chǎn)生,這個(gè)請(qǐng)求在掛起寄存器位置被置1后復(fù)位。中斷請(qǐng)求也可以通過(guò)軟件在軟件寄存器中置1來(lái)產(chǎn)生。 硬件中斷選擇使用如下步驟將這16條線配置為中斷源: 配置16條中斷線的屏蔽位(EXTIT_MR); 配置中斷線的出發(fā)選擇位(EXTI_TSR); 配置用于控制映射到EXTIT上的EIC IRQ通道的使能位和屏蔽位,以便任何一個(gè)來(lái)自16條線的中斷都可以正確的被識(shí)別。補(bǔ)充:掛起寄存器(EXTIT_PR);中斷屏蔽寄存器(EXTIT_MR);軟件中斷寄存器(EX

27、TIT_SWIR);觸發(fā)選擇寄存器(EXTIT_TSR)。 軟件中斷線選擇該16條線也可以作為軟件中斷線被配置,下面的過(guò)程用來(lái)產(chǎn)生軟件中斷: 配置16條中斷線的屏蔽位(EXTIT_MR); 置位軟件中斷寄存器中需要的位(EXTIT_SWIR)。3.1.2 EXTIT的主要特性與結(jié)構(gòu)圖外部中斷控制器EXTIT的主要特性有以下4點(diǎn): 支持產(chǎn)生16個(gè)中斷請(qǐng)求; 獨(dú)立觸發(fā)和屏蔽每根中斷線; 指定每個(gè)中斷線的狀態(tài)位; 產(chǎn)生多達(dá)16個(gè)中斷請(qǐng)求。如圖3-1所示的是EXTIT控制器模塊的結(jié)構(gòu)圖,通過(guò)設(shè)置其中的模塊來(lái)控制外部中斷。如圖3-2所示為中斷管理模塊原理圖,可以看出處理中斷的各個(gè)模塊與流程。圖3-1 E

28、XTIT控制塊的結(jié)構(gòu)圖圖3-2 中斷管理模塊原理圖3.2 外部中斷線的映射表與中斷向量表3.2.1 外部中斷線的映射表(1)外部中斷線 #14在部連接由SUSPEND事件產(chǎn)生的USB Wake-up。它可以在任意活動(dòng)下從STOP模式產(chǎn)生喚醒,所以需要做以下設(shè)置: 設(shè)置外部中斷線#14上升沿有效; 設(shè)置USB; 將USB設(shè)置為掛起模式,進(jìn)入STOP模式。(2)外部中斷線 #15連接位于P1.15引腳與RTC報(bào)警事件之間的或門輸出。RTC連接可以用于在RTC報(bào)警事件中從STOP模式喚醒,所以需要做以下設(shè)置: 在P1.15引腳上使用低電平; 設(shè)置外部中斷線#15上升沿有效; 設(shè)置

29、RTC產(chǎn)生RTC報(bào)警。(3)為從STANDBY模式中喚醒,沒(méi)有必要設(shè)置外部中斷線 #15。外部中斷線的映射表如表3-1所示。表3-1 外部中斷線映射表EXTIT Line(#)EXTIT Line Source0P0.02(TIM2_OC1)1P0.05(SSP0_SCLK)2P0.07(SSP0_MOSI)3P0.08(I2C_SCL)4P0.10(UART0_RX)5P0.14(CAN_RX)6P0.19(SSP1_NSS)7P1.058P1.079P1.0910P1.10(PWM_EMERGENCY)11P1.1112P1.1213P1.1314(1)USB Wake-up f

30、rom SUSPEND15(2)(3)P1.15(WKP_STDBY PIN)or RTC_ALARM3.2.2 中斷向量表 ARM7核提供兩種中斷級(jí)別:FIQ(Fast Interrupt Request)主要用于快速、低反應(yīng)時(shí)間的中斷處理:IRQ(Interrupt Request)主要用于其他的普通中斷處理。STR750中斷管理系統(tǒng)提供了兩個(gè)管理模塊:增強(qiáng)型中斷控制器EIC和外部中斷控制器EXTIT。(1)有32個(gè)中斷通道被映射到ARM7TDMI的低優(yōu)先級(jí)中斷請(qǐng)求引腳(IRQ)上,如果復(fù)用中斷源被映射到一樣的中斷向量上,軟件會(huì)讀取外部中斷位寄存器來(lái)決定準(zhǔn)確的中斷源 表3-2 IRQ中斷向

31、量表(2)在大多數(shù)情況下,只需要在應(yīng)用中使能一個(gè)FIQ中斷源。如果使能了兩個(gè)FIQ中斷源,可以通過(guò)讀取EIC寄存器中的FIQ掛起位來(lái)決定中斷源 由于FIQ沒(méi)有優(yōu)先級(jí)機(jī)制,所以有多個(gè)FIQ同時(shí)發(fā)生時(shí),軟件將通過(guò)查詢掛起來(lái)管理優(yōu)先級(jí)別并且處理并行操作。表3-3 FIQ中斷向量表向量簡(jiǎn)稱中斷源FIQ0EXTITExternal interrupt line INT0FIQ1WATCHDOGWatchdog global interrupt3.3 寄存器介紹(1)掛起寄存器(EXTIT_PR)如圖3-3、表3-4所示的掛起寄存器。偏移地址:0Ch復(fù)位:xxxx xxxxh圖3-3 掛起寄存器的設(shè)置表3

32、-4 掛起寄存器各位的詳細(xì)信息位 號(hào)描 述Bits 31:16保留,必須保持復(fù)位值(0)Bit 15:0PRx:Pending bit0:無(wú)出發(fā)時(shí)間產(chǎn)生1:選擇產(chǎn)生出發(fā)事件當(dāng)外部中斷線上產(chǎn)生選擇的邊沿事件時(shí),這些位被置位通過(guò)向這些寫(xiě)入1或者改變邊沿檢測(cè)器靈敏度可以清零這些位注意:如果中斷在進(jìn)入Stop模式前一個(gè)周期中發(fā)生,那么在從Stop模式退出后EXTIT_PR寄存器會(huì)更新,同時(shí)如果EXTIT_MR寄存器中的相應(yīng)位置將會(huì)產(chǎn)生中斷請(qǐng)求(2) 中斷屏蔽寄存器(EXTIT_MR)如圖3-4、表3-5所示的是中斷屏蔽寄存器的設(shè)置與詳細(xì)信息。偏移地址:00h復(fù)位值:0000 0000h圖3-4 中斷屏

33、蔽寄存器的設(shè)置表3-5 中斷屏蔽寄存器各位的詳細(xì)信息位 號(hào)描 述Bit 31:16保留,必須保持復(fù)位值(0)Bit 15:0MrxInterrupt Mask on line x0:Line x上的中斷請(qǐng)求被屏蔽1:Line x上的中斷請(qǐng)求被使能(3) 軟件終端寄存器(EXTIT_SWIR)如圖3-5、表3-6所示的是乳酸鈉幾十年中斷寄存器的設(shè)置與詳細(xì)信息。偏移地址:08h復(fù)位值:0000 0000h圖3-5 軟件中斷寄存器的設(shè)置表3-6 軟件中斷寄存器各位的詳細(xì)信息位 號(hào)描 述Bit 31:16保留,必須保持復(fù)位值(0)Bit 15:0SWIx:Software Interrupt on l

34、ine x當(dāng)向EXTIT_PR寄存器中值為0的位寫(xiě)入1時(shí)將置位相應(yīng)的掛起位如果在EXTIT_MR寄存器的這些位上使能中斷,中段請(qǐng)求就會(huì)產(chǎn)生這些位是通過(guò)清除EXTIT_PR寄存器上的相應(yīng)位置1來(lái)清除的(4) 觸發(fā)選擇寄存器(EXTIT_TSR)如圖3-6、表3-7所示的是觸發(fā)選擇寄存器的設(shè)置與詳細(xì)信息。偏移地址:04h復(fù)位值:0000 0000h圖3-6 觸發(fā)選擇寄存器的設(shè)置表3-7 觸發(fā)選擇寄存器各位的詳細(xì)信息位 號(hào)描 述Bit 31:16保留,必須保持復(fù)位值(0)Bit 15:0TRx:Trigger event configuration bit of line x0:中斷請(qǐng)求被設(shè)置在中斷

35、線的下降沿1:中斷請(qǐng)求被設(shè)置在中斷線的上升沿注意:(1)由于外部喚醒線為邊沿觸發(fā),這些線不能有毛刺產(chǎn)生。 (2)如果在寫(xiě)寄存器EXTIT_STR時(shí),在外部中斷線上出現(xiàn)上升沿或者下降沿,相應(yīng)的掛起為將不會(huì)被置位。第四章 實(shí)驗(yàn)環(huán)境搭建與程序介紹4.1 實(shí)驗(yàn)環(huán)境搭建4.1.1 生成新的工作區(qū)(1) 雙擊桌面IAR的快捷方式打開(kāi)工作區(qū),生成一個(gè)空白的工作區(qū)。(2) 選擇主菜單“Project->Create New Project”,彈出“生成新項(xiàng)目”窗口。如圖4-1所示(3) 在“Tool chain”欄中選擇“ARM”,然后單擊“OK”按鈕,彈出“另存為”窗口。圖4-1 生成新項(xiàng)目窗口 圖4

36、-2 生成新項(xiàng)目(5) 在“另存為”窗口中找到D:新建一個(gè)文件夾,命名為YXY,打開(kāi)YXY文件夾,將新項(xiàng)目的名稱命名為“EXTIT”然后保存。如圖4-2所示。在圖4-2中項(xiàng)目“EXTIT”名后面的“Debug”表示本項(xiàng)目輸出含調(diào)試信息的代碼文件。EWARM能輸出兩種代碼模式:Debug和Release。Debug模式生成包含調(diào)試信息的程序代碼,我們可以利用它在EWARM環(huán)境下調(diào)試應(yīng)用程序;而Release模式生成不含調(diào)試信息的發(fā)行版本的程序代碼,其代碼比較緊湊,兩者的代碼量比可以達(dá)幾倍?!癢orkspace”窗口頂部的下拉菜單顯示當(dāng)前項(xiàng)目的配置。EWARM為Debug提供兩種運(yùn)行模式,即在片F(xiàn)

37、lash中運(yùn)行模式或在片F(xiàn)lash中運(yùn)行模式。兩種運(yùn)行模式需要提供不同的連接命令文件(.XCL),此實(shí)驗(yàn)選擇在ARM中運(yùn)行模式。項(xiàng)目保存以后,在“EXTIT”目錄下生成一個(gè)空目錄“setting”。注意:EIC-Debug后的*號(hào)表示當(dāng)前的工作區(qū)還沒(méi)有保存。(4)保存工作區(qū)。新生成的工作區(qū)需保存才有,選擇主菜單“File->Save Workspace”,瀏覽并選擇“D: EXTIT”目錄,然后輸入工作區(qū)名“EXTIT”,單擊“SAVE”按鈕退出。這時(shí)在“EXTIT”目錄下將生成工作區(qū)文件“EXTIT.eww”和項(xiàng)目參數(shù)設(shè)置文件EXTIT.dep、EXTIT.ewd和EXTIT.ewp等

38、。窗口和斷點(diǎn)放置,以與與當(dāng)前操作有關(guān)的其他信息則存儲(chǔ)在“setting”目錄下的文件中。注意:保存工作區(qū)操作完成后項(xiàng)目名后的*號(hào)已經(jīng)消失。4.1.2 給項(xiàng)目添加文件(1) 選擇在工作區(qū)窗口中的“EXTIT”項(xiàng)目名,使其高亮。單擊鼠標(biāo)右鍵在彈出的菜單中選擇“Add Group”或選擇主菜單“Project->Add Group”執(zhí)行添加文件組命令。在彈出菜單中將文件組起名為“startup” 。 (2)在工作區(qū)窗口中選擇剛建立的文件目錄“startup”,使其高亮。單擊鼠標(biāo)右鍵在彈出菜單中選擇“Add Files.”執(zhí)行添加文件命令。在彈出的添加文件窗口中瀏覽“D:Program File

39、sNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFSTDLIBLIBRARYSTARTUP”目錄,從中選擇文件75x_init.s和75x_vect.s(對(duì)話菜單中的“文件類型”注意選擇為All Files(*.*))。這兩個(gè)文件將添加到工作區(qū)窗口的“startup”目錄下。 (3)重新選擇工作區(qū)窗口中的“EXTIT”項(xiàng)目名,使其高亮。單擊鼠標(biāo)右鍵在彈出的菜單中選擇“Add Files.”執(zhí)行添加文件命令。在彈出的添加文件窗口中瀏覽“D:Program FilesNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFEXAMPLESEXTIT”目錄,從中選擇75x_conf.h、75x_it

40、.c、main.c文件。 另外,在這個(gè)路徑下有一個(gè)Readme.txt文件,它是對(duì)EXTIT實(shí)驗(yàn)的說(shuō)明,可以看到需要添加的函數(shù)文件,這些可以從“Source”庫(kù)中復(fù)制,選擇工作區(qū)窗口中的EXTIT項(xiàng)目名,單擊鼠標(biāo)右鍵在彈出菜單中選擇“Add Files.”執(zhí)行添加文件命令。在彈出的添加文件窗口中瀏覽“D:Program FilesNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包 NESTR75xFSTDLIBLIBRARYSRC”目錄,從中選擇EXTIT實(shí)驗(yàn)需要添加的文件75x_lib.c、 75x_gpio.c、75x_eic.c、75x_extit.c和75x_mrcc.c。注意:在項(xiàng)目中添加文件時(shí)只需

41、要添加匯編語(yǔ)言和C語(yǔ)言的源程序,不需要添加頭文件。但是必須在設(shè)置項(xiàng)目的編譯器(Compiler)選件時(shí)指明包含C語(yǔ)言用的頭文件的路徑和目錄;而匯編程序的頭文件路徑則由EWARM自動(dòng)指向,因此不必關(guān)心。添加文件后的工作區(qū)窗口如圖4-3所示。源文件后面的紅色星號(hào)表示還沒(méi)有經(jīng)過(guò)編譯處理,至此,EXTIT外部中斷控制器的工程已經(jīng)創(chuàng)建完成。圖4-3 添加文件后的工作區(qū)窗口4.1.3 設(shè)置項(xiàng)目選件生成新項(xiàng)目和添加文件后的下一步是為項(xiàng)目設(shè)置選件。設(shè)置項(xiàng)目選件是非常重要的一步,如果設(shè)置不當(dāng),編譯、連接就會(huì)出錯(cuò),無(wú)法生成正確的代碼文件。在創(chuàng)建新項(xiàng)目是選擇了“Empty project”模板,表示采用默認(rèn)的項(xiàng)目選

42、件設(shè)置。但是這些默認(rèn)的設(shè)置還要根據(jù)具體項(xiàng)目進(jìn)行修改。IAR EWARM提供的項(xiàng)目選件容繁多,實(shí)際上最關(guān)鍵的選件并不多,只要設(shè)置正確了,其他的采用默認(rèn)設(shè)置就不會(huì)出錯(cuò)。首先選中工作區(qū)中的項(xiàng)目名“EXTIT”,單擊鼠標(biāo)右鍵在彈出的菜單中選擇“Options.”或選擇主菜單“Project-> Options.”。在彈出的“Options”窗口左邊的目錄“Category”中選擇要修改的選件。(1)通用選件“General Option”設(shè)置。在彈出的“Options”窗口左邊的目錄“Category”中選擇第一項(xiàng)“General Options”,然后分別在:“Target”頁(yè)面中,“Proc

43、essor Variant”框中選擇“Device”,并單擊右邊的器件選擇按鈕選擇芯片型號(hào)“ST STR750”,“Processor mode”框中選擇“ARM”,其他項(xiàng)采取默認(rèn)選擇,如圖4-4所示。其他頁(yè)面均采用默認(rèn)選擇。圖4-4 General Option選件設(shè)置另外,EXTIT 實(shí)驗(yàn)中涉與fputc函數(shù),要將“Library Configuration”頁(yè)面上的“Library”選為“FULL”。 (2)C/C+編譯器選件設(shè)置。在“Options”窗口的目錄“Category”中的第“C/C+ Compiler”。本項(xiàng)除了“Preprocessor”頁(yè)面外均可采用默認(rèn)選擇?!癘pti

44、mization”頁(yè)面中,根據(jù)項(xiàng)目需要選擇按Size優(yōu)化還是按Speed優(yōu)化,再選擇優(yōu)化等級(jí)。本實(shí)驗(yàn)接受默認(rèn)選擇“Size->Low”。“Preprocessor”頁(yè)面是關(guān)鍵設(shè)置,需要指出C語(yǔ)言文件的include文件目錄。如果include文件不在標(biāo)準(zhǔn)目錄下時(shí),必須在“Addition include directories”框中輸入包含本項(xiàng)目include文件的所有目錄。一個(gè)目錄用一行描述,有多個(gè)目錄時(shí)允許用多行。在EIC中,需要輸入兩個(gè)目錄“D:Program FilesNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFSTDLIBLIBRARY

45、INC和“D:Program FilesNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFEXAMPLESEXTIT”,C/C+編譯器選件窗口設(shè)置如圖4-5所示。圖4-5 C/C+編譯器選件窗口(3)Assemble選件設(shè)置。在“Options”窗口的目錄“Category”中選擇第3項(xiàng)“Assemble”,匯編器的選件設(shè)置可以全部采用默認(rèn)選擇。 (4)Linker選件設(shè)置。在“Options”窗口的目錄“Category”中選擇第6項(xiàng)“Linker”。Output頁(yè)面,除了采用所有默認(rèn)選擇外,還需要勾選一個(gè)“Allow C-SPY-specific ext

46、ra output file”,如圖4-6所示。圖4-6 連接器Output選件設(shè)置“Extra Output”頁(yè)面,選擇“Generate extra output file”,其余采用默認(rèn),如圖4-7所示?!癈onfig”頁(yè)面用于指定本項(xiàng)目使用的連接器命令文件(.XCL)。連接器命令文件中包含連接器的各項(xiàng)命令行參數(shù),用于說(shuō)明經(jīng)編譯/匯編后生產(chǎn)的各種代碼段和數(shù)據(jù)段如何存放到存儲(chǔ)器中。選擇“Override default”,然后瀏覽并選擇本項(xiàng)目使用的.XCL文件名“D:Program FilesNE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFSTDLIBLIBRARYLINKERlnka

47、rm_ram.xcl”,指定連接命令文件,如圖4-8所示。圖4-7 連接器Extra Output選件設(shè)置圖4-8 指定連接命令文件 (5)Debugger選件設(shè)置。在目錄“Category”窗口中選擇“Debugger”。在“Setup”頁(yè)面的“Driver”選項(xiàng)中選擇“Thired-Party Driver”,勾選“Run to”并填入“main”,如圖4-9所示。注意:選擇“Thired-Party Driver”是因?yàn)樵贜E-STR750開(kāi)發(fā)學(xué)習(xí)板上用的是非IAR產(chǎn)品的仿真器ST-Link。如果沒(méi)有NE-STR750開(kāi)發(fā)學(xué)習(xí)套件,可選擇Simulator模擬執(zhí)行EWARM調(diào)試狀態(tài)。如果

48、使用IAR的產(chǎn)品J-Link,Driver選項(xiàng)必須選擇J-Link/J-Trace。圖4-9 Debugger的Setup頁(yè)面設(shè)置在“Download”頁(yè)面中選擇“Verify download”和“Use flash loader”,如圖4-10所示。圖4-10 Debugger的Download頁(yè)面設(shè)置(6)Thired-Party Driver選件設(shè)置。如果使用非IAR公司的仿真器,就必須提供第三方仿真器的驅(qū)動(dòng)程序。NE-STR750開(kāi)發(fā)學(xué)習(xí)板上的仿真器是ST-LINK,不是IAR公司的,在設(shè)置項(xiàng)目選件時(shí)必須指定ST-LINK仿真器的驅(qū)動(dòng)程序。 ST-LINK仿真器的驅(qū)動(dòng)程序放在“D:N

49、E-STR750開(kāi)發(fā)學(xué)習(xí)板NE-STR750開(kāi)發(fā)學(xué)習(xí)板軟件包NESTR75xFST-LINK Driver”目錄下,該目錄中有兩個(gè)文件,設(shè)置時(shí)指向STR75XDriver.dll即可,如圖4-11所示。圖4-11 Thired-Party Driver設(shè)置到此為止,EXTIT項(xiàng)目的所有設(shè)置已經(jīng)全部完成,單擊“OK”按鈕確認(rèn)退出項(xiàng)目選件設(shè)置操作。以上是對(duì)文件添加與項(xiàng)目選件Option的設(shè)置。在后面的實(shí)驗(yàn)過(guò)正中將介紹如何編譯預(yù)處理與調(diào)試連接的過(guò)程。4.2 程序介紹4.2.1 Main.c的介紹/* 頭文件 */#include "75x_lib.h"EXTIT_InitType

50、Def EXTIT_InitStructure;ErrorStatus OSC4MStartUpStatus;/* 聲明 */void MRCC_Configuration(void);void GPIO_Configuration(void);void EIC_Configuration(void);void DELAY(u32);/*主函數(shù)的編寫(xiě)*/int main() #ifdef DEBUG debug(); #endif /* 設(shè)置系統(tǒng)時(shí)鐘s */ MRCC_Configuration(); /* 設(shè)置GPIO端口 */ GPIO_Configuration(); /* 清除 EXT

51、IT line 6 掛起位 */ EXTIT_ClearITPendingBit(EXTIT_ITLine6); /* 使能EXTITline 6 下降沿 */ EXTIT_InitStructure.EXTIT_ITLine = EXTIT_ITLine6; EXTIT_InitStructure.EXTIT_ITTrigger = EXTIT_ITTrigger_Falling; EXTIT_InitStructure.EXTIT_ITLineCmd = ENABLE; EXTIT_Init(&EXTIT_InitStructure); /* 設(shè)置并使能中斷控制器 */ EIC_C

52、onfiguration(); while(1) /* 產(chǎn)生軟件中斷,模擬在 EXTIT line 6產(chǎn)生下降沿觸發(fā) */ EXTIT_GenerateSWInterrupt(EXTIT_ITLine6); DELAY(0x5FFFF); void MRCC_Configuration(void) /* MRCC 系統(tǒng)復(fù)位(為了調(diào)試) */ MRCC_DeInit(); /* 等待 OSC4M 時(shí)鐘產(chǎn)生 */ OSC4MStartUpStatus = MRCC_WaitForOSC4MStartUp(); if(OSC4MStartUpStatus = SUCCESS) /* 設(shè)置HCLK 為

53、 30 MHz */ MRCC_HCLKConfig(MRCC_CKSYS_Div2); /* 設(shè)置CKTIM 為 30 MHz */ MRCC_CKTIMConfig(MRCC_HCLK_Div1); /* 設(shè)置 PCLK 為 15 MHz */ MRCC_PCLKConfig(MRCC_CKTIM_Div2); /* 設(shè)置 CKSYS 為 60 MHz */ MRCC_CKSYSConfig(MRCC_CKSYS_OSC4MPLL, MRCC_PLL_Mul_15); /* 設(shè)置 GPIO 引腳為 3.3V 工作 */ MRCC_IOVoltageRangeConfig(MRCC_IOVo

54、ltageRange_3V3); /* 使能 EXTIT 和 GPIO 時(shí)鐘 */ MRCC_PeripheralClockConfig(MRCC_Peripheral_EXTIT | MRCC_Peripheral_GPIO, ENABLE);void GPIO_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; /* 設(shè)置 GPIO0 pin 19 為輸入模式 */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_19; GPIO_Init(GPIO0, &GPIO_InitStructure); /* 設(shè)置 GPIO0 pin 9 為推挽輸出模式 */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論