ARM嵌入式開發(fā)實(shí)例-第5章_第1頁(yè)
ARM嵌入式開發(fā)實(shí)例-第5章_第2頁(yè)
ARM嵌入式開發(fā)實(shí)例-第5章_第3頁(yè)
ARM嵌入式開發(fā)實(shí)例-第5章_第4頁(yè)
ARM嵌入式開發(fā)實(shí)例-第5章_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1

在ARM嵌入式市場(chǎng)上,ARM處理器的廣泛應(yīng)用不僅僅是因?yàn)锳RM在系統(tǒng)內(nèi)核方面的優(yōu)勢(shì),更重要是ARM微處理器生產(chǎn)廠商在取得ARM公司的內(nèi)核授權(quán)之后,根據(jù)各自產(chǎn)品市場(chǎng)的特點(diǎn)為ARM處理器添加了豐富的功能模塊,即系統(tǒng)外設(shè)。常見的外設(shè)有ADC/DAC、USART通訊接口、CAN通訊接口和協(xié)處理器等。

在本章內(nèi)容中,以STM32F103XX系列ARM處理器為例,主要介紹芯片中常用的一些功能模塊及其使用方法。通過本章的學(xué)習(xí),用戶可以掌握ARM處理器內(nèi)部所支持的通用功能模塊,并能利用這些功能模塊完成相應(yīng)的系統(tǒng)設(shè)計(jì)。第5章STM32F103XX功能模塊〔1〕本章節(jié)重難點(diǎn)2【本章重點(diǎn)】1STM32F103XX中的功能模塊:GPIO接口模塊、ADC轉(zhuǎn)換模塊、外部中斷模塊、高級(jí)定時(shí)器TIMI、通用定時(shí)器TIMx;2STM32F103XX功能模塊的控制存放器;3STM32F103XX功能模塊的使用〔實(shí)驗(yàn)局部〕;【本章難點(diǎn)】1STM32F103XX中的功能模塊與作用;2STM32F103XX中功能模塊的使用〔實(shí)驗(yàn)局部〕;3在ARM處理器市場(chǎng)中,憑借自身在內(nèi)核和硬件資源等突出優(yōu)點(diǎn),正得到越來越廣泛的應(yīng)用。通常而言,ARM處理器有多種內(nèi)核結(jié)構(gòu),不同廠商生產(chǎn)的ARM處理器還分別支持不同的功能模塊。因此,用戶在進(jìn)行ARM嵌入式系統(tǒng)設(shè)計(jì)的過程中,選擇一款適宜的ARM處理器芯片是非常重要的。其中,ARM處理器的功能模塊是芯片選擇過程中的一個(gè)重要指標(biāo)。第5章STM32F103XX功能模塊5.1ARM處理器的選型與功能模塊45.1ARM處理器的選型與功能模塊5.1.1ARM處理器的性能參數(shù)1、ARM內(nèi)核的版本對(duì)于ARM內(nèi)核版本而言,如果用戶希望WinCE或者Linux等嵌入式操作系統(tǒng),那么可以在一定程度上減少嵌入式系統(tǒng)軟件開發(fā)的周期時(shí)間。但這種情況下,用戶就必須選擇帶有MMU〔MemoryManagementUnit〕功能的ARM芯片。除此之外,ARM內(nèi)核的工作性能也是評(píng)價(jià)嵌入式系統(tǒng)的重要指標(biāo)。如果需要開發(fā)一些實(shí)時(shí)性要求比較高的嵌入式系統(tǒng),如車載通訊網(wǎng)絡(luò)系統(tǒng)、發(fā)動(dòng)機(jī)實(shí)時(shí)控制系統(tǒng)等,應(yīng)該選擇一些高性能的ARM內(nèi)核,因?yàn)檫@些嵌入式系統(tǒng)對(duì)處理器的運(yùn)行性能有比較高的要求。55.1ARM處理器的選型與功能模塊2、內(nèi)存存儲(chǔ)器的容量在絕大局部的ARM處理器中,系統(tǒng)都集成了片上FLASH存儲(chǔ)器。用戶在設(shè)計(jì)ARM嵌入式開發(fā)系統(tǒng)的過程中,如果應(yīng)用系統(tǒng)不需要大容量存儲(chǔ)空間,那么用戶可以選擇帶有內(nèi)置FLASH存儲(chǔ)器的ARM處理器。除此之外,不同ARM處理器內(nèi)置的RAM存儲(chǔ)器空間的大小也各自不同,用戶也需要根據(jù)當(dāng)前所設(shè)計(jì)的ARM嵌入式系統(tǒng)的需求進(jìn)行選擇。65.1ARM處理器的選型與功能模塊3、電源控制與系統(tǒng)功耗 鑒于ARM嵌入式系統(tǒng)的市場(chǎng)需求,一些應(yīng)用系統(tǒng)對(duì)電源功耗比較敏感,特別是一些消費(fèi)多媒體、手持終端設(shè)備等。例如,智能系統(tǒng)的耗電量直接影響到待機(jī)時(shí)間的長(zhǎng)短。在STM32F103XX系列ARM處理器中,芯片內(nèi)部已經(jīng)集成了專門的電源管理模塊,且具有低功耗模式、休眠模式,以及待機(jī)模式等。通過這些節(jié)電模式,用戶可以通過一系列的電源管理手段以防止ARM嵌入式系統(tǒng)中不必要的電源消耗,降低系統(tǒng)功耗。

75.1ARM處理器的選型與功能模塊4、DSP協(xié)處理器從ARM處理器的特性來看,嵌入式系統(tǒng)的結(jié)構(gòu)體系比較適合應(yīng)用在系統(tǒng)控制領(lǐng)域。在一些對(duì)實(shí)時(shí)性要求比較高的嵌入式系統(tǒng),例如車載CAN網(wǎng)絡(luò)通訊、無線數(shù)據(jù)傳輸?shù)龋瑢?duì)數(shù)字信號(hào)的處理具有較高的要求。因此,在這類嵌入式系統(tǒng)設(shè)計(jì)的過程中,用戶需要使用DSP處理實(shí)現(xiàn)嵌入式系統(tǒng)中的控制復(fù)雜度,以及快速出去數(shù)字信號(hào)運(yùn)算的能力。在這種情況下,用戶可以采用帶DSP處理器的ARM芯片,常見的帶DSP處理器ARM芯片有TI公司的Davinci。

85.1ARM處理器的選型與功能模塊5.1.2ARM處理器的外部接口1、GPIO端口對(duì)于ARM處理器而言,GPIO端口的數(shù)量是系統(tǒng)資源的重要指標(biāo)之一,也是處理器重要的外設(shè)接口。在最早的單片機(jī)模型中,GPIO端口與外部設(shè)備之間數(shù)據(jù)交換,是單片機(jī)系統(tǒng)最主要甚至唯一的功能。在ARM嵌入式系統(tǒng)設(shè)計(jì)的過程中,處理器GPIO端口的數(shù)量必須能夠滿足外圍接口電路的要求。如果用戶選擇的ARM處理器GPIO端口缺乏,那么需要對(duì)端口進(jìn)行擴(kuò)展。GPIO端口的外部擴(kuò)展顯然會(huì)降低系統(tǒng)數(shù)據(jù)傳輸?shù)乃俣?,不適合對(duì)GPIO工作速度要求比較高的場(chǎng)合。除此之外,較多的GPIO端口過多勢(shì)必又會(huì)增加ARM芯片引腳的數(shù)量,增加電路板設(shè)計(jì)的復(fù)雜度。95.1ARM處理器的選型與功能模塊2、通訊端口通信接口是當(dāng)前ARM嵌入式系統(tǒng)中必須具備的、使用最為廣泛的接口。在所有的ARM嵌入式系統(tǒng)中,根本都具備了通信端口。常用的通訊接口主要包括USART通訊端口、CAN〔控制局域網(wǎng)絡(luò)〕通訊端口、USB通訊端口、SPI通訊端口、I2C通訊端口等。如果用戶在設(shè)計(jì)ARM嵌入式系統(tǒng)的過程中,所選的ARM處理器沒有集成相應(yīng)的通訊接口,那么用戶需要在外部接口電路中重新設(shè)計(jì)相應(yīng)的硬件電路和控制程序代碼。105.1ARM處理器的選型與功能模塊3、其他外部設(shè)備除了上述提到影響ARM嵌入式系統(tǒng)性能的外部設(shè)備外,用戶還需要考慮其他因素對(duì)嵌入式系統(tǒng)的影響,包括PWM〔脈沖寬度調(diào)制〕輸出、ADC和DAC模塊、總線擴(kuò)展模塊、LCD控制器、看門狗watchdog等。雖然上述這些外部設(shè)備在ARM嵌入式系統(tǒng)中并不是缺一不可的,但如果用戶在系統(tǒng)設(shè)計(jì)的過程中,在不增加本錢的前提條件下選用帶有這些特定功能模塊的ARM芯片,能給系統(tǒng)的硬件和軟件開發(fā)工作提供方便。DIP封裝不同的芯片封裝在散熱性能、信號(hào)完整性特性、PCB體積等各個(gè)方面都各不相同。在上述這些芯片封裝中,DIP封裝是早期處理器芯片的主要封裝形式,如右圖所示。而目前,絕大局部芯片由于GPIO端口引腳增多而沒有延續(xù)采用DIP封裝,只在一些結(jié)構(gòu)功能比較簡(jiǎn)單的集成芯片中保存使用。DIP封裝主要的特點(diǎn)是焊接相比照較容易,且更換芯片比較方便。11DIP〔雙列直插式〕封裝5.1ARM處理器的選型與功能模塊5.1.3ARM處理器的芯片封裝12QFP封裝〔方型扁平式封裝技術(shù)〕在ARM處理器中,一些低端的芯片主要采用QFP〔QuadFlatPackage〕封裝,即在芯片四周都布有管腳的方形封裝形式,如右圖所示。對(duì)于QFP封裝而言,最多能支持的芯片管腳數(shù)量在100~200之間。例如,STM32F101T4就是采用的QFN36封裝。一般而言,封裝符號(hào)后的數(shù)字即表示芯片的引腳數(shù)。5.1ARM處理器的選型與功能模塊QFP〔QuadFlatPackage〕封裝13QFP封裝在ARM處理器中,一些低端的芯片主要采用QFP〔QuadFlatPackage〕封裝,即在芯片四周都布有管腳的方形封裝形式,如右圖所示。對(duì)于QFP封裝而言,最多能支持的芯片管腳數(shù)量在100~200之間。例如,STM32F101T4就是采用的QFN36封裝。一般而言,封裝符號(hào)后的數(shù)字即表示芯片的引腳數(shù)。5.1ARM處理器的選型與功能模塊QFP〔QuadFlatPackage〕封裝14BGA封裝〔球柵陣列結(jié)構(gòu)〕隨著集成電路技術(shù)的開展,ARM嵌入式芯片對(duì)集成電路的封裝具有越來越高的要求。因此,芯片生產(chǎn)廠商除了使用QFP封裝方式外,大多數(shù)管腳數(shù)量比較多的ARM芯片都使用了BGA封裝技術(shù)。BGA封裝技術(shù)使得高密度、高性能、以及多引腳芯片封裝技術(shù)成為芯片生產(chǎn)廠商的最正確選擇。BGA封裝技術(shù)如圖5-3所示,在芯片封裝的反面具有球狀管腳5.1ARM處理器的選型與功能模塊BGA〔BallGridArrayPackage〕封裝內(nèi)核:ARM32位CortexTM-M3CPU〔1〕最高可支持72MHz的處理器工作頻率,在存儲(chǔ)器的0等待周期訪問時(shí),可到達(dá)1.25DMips/MHz〔2〕支持單周期乘法和硬件除法存儲(chǔ)器〔1〕支持從64K到128K字節(jié)的閃存程序存儲(chǔ)器〔2〕支持高達(dá)20K字節(jié)的SRAM155.1ARM處理器的選型與功能模塊5.1.4STM32F103XX系列ARM處理器16時(shí)鐘、復(fù)位和電源管理〔1〕支持2.0~3.6V電源供電以及IO引腳電平信號(hào)〔2〕支持上電復(fù)位POR、斷電復(fù)位PDR、以及可編程電壓檢測(cè)器PVD〔3〕支持外部4~16MHz的晶體振蕩器〔4〕內(nèi)部集成了經(jīng)由出廠調(diào)試的8MHz的RC振蕩器〔5〕內(nèi)部集成了帶校準(zhǔn)的40KHz的RC振蕩器〔6〕支持產(chǎn)生CPU時(shí)鐘的PLL〔7〕集成帶校準(zhǔn)功能的32KHz的RTC振蕩器系統(tǒng)低功耗〔1〕支持睡眠模式、停機(jī)模式和待機(jī)模式〔2〕支持VBAT為RTC和后備存放器供電5.1ARM處理器的選型與功能模塊1712bit模數(shù)轉(zhuǎn)換器〔1〕支持0~3.6V電壓的轉(zhuǎn)換范圍;〔2〕支持2個(gè)12bit的模數(shù)轉(zhuǎn)換器,最多支持16個(gè)輸入通道,轉(zhuǎn)換時(shí)間為1us;〔3〕支持雙路采樣和保持功能;〔4〕集成溫度傳感器;直接內(nèi)存存取DMA〔DirectMemoryAccess〕〔1〕支持7通道DMA控制器;〔2〕支持定時(shí)器Timer、模數(shù)轉(zhuǎn)換器ADC、通訊SPI、I2C以及USART等外部設(shè)備的DMA操作;5.1ARM處理器的選型與功能模塊18GPIO快速端口〔1〕不同型號(hào)的處理器芯片分別支持26/37/51/80個(gè)通用快速數(shù)字IO端口;〔2〕所有GPIO快速端口均可分別映像為16個(gè)外部中斷;〔3〕絕大局部GPIO端口均可容忍5V電壓的輸入;處理器調(diào)試模式〔1〕支持串行膽單線調(diào)試方式SWD;〔2〕支持JTAG調(diào)試接口;5.1ARM處理器的選型與功能模塊19內(nèi)部集成7個(gè)定時(shí)器〔1〕內(nèi)部集成了3個(gè)16bit的定時(shí)器,沒個(gè)定時(shí)器支持4個(gè)用于輸入捕獲/輸出比較/PWM或者脈沖計(jì)數(shù)的通道和增量編碼器輸入;〔2〕內(nèi)部集成1個(gè)16bit帶死去控制何緊急剎車,適用于電機(jī)控制的PWM高級(jí)控制定時(shí)器;〔3〕支持2個(gè)看門狗定時(shí)器,分別為獨(dú)立定時(shí)器和窗口型定時(shí)器;〔4〕支持系統(tǒng)時(shí)間定時(shí)器,即一個(gè)24bit的自減型計(jì)數(shù)器;5.1ARM處理器的選型與功能模塊20內(nèi)部集成9個(gè)通信接口〔1〕支持2個(gè)I2C接口,支持SMBus/PMBus;〔2〕支持3個(gè)USART接口,并且支持ISO7816接口,LIN,IrDA接口和調(diào)制解調(diào)控制;〔3〕支持2個(gè)SPI接口,通訊速率為18MB/s;〔4〕支持CAN通訊接口;〔5〕支持USB2.0通訊接口;5.1ARM處理器的選型與功能模塊21在STM32F103XX系列處理器中,芯片中的絕大局部GPIO管腳除了能夠作為通用數(shù)字信號(hào)輸入/輸出端口外,還可以具有第2功能,甚至第3功能,即GPIO端口的復(fù)用功能。注意:使用ARM芯片的任意功能模塊之前,都必須對(duì)功能模塊的引腳進(jìn)行連接配置,否那么芯片將使用默認(rèn)連接。第五章STM32F103XX功能模塊5.2GPIO接口模塊225.1ARM處理器的選型與功能模塊5.2.1GPIO引腳描述處理器上電后,所有的GPIO端口都默認(rèn)為通用數(shù)字輸入/輸出端口〔GeneralPurposeInputOutput

〕。

STM32F103VB共有80個(gè)多功能復(fù)用輸入輸出口〔I/O口〕,分為5組PA~PE,每組16個(gè)端口。注意:每個(gè)引腳的功能必須在啟動(dòng)主程序之前進(jìn)行定義。STM32F103VB引腳最大輸入容忍電壓為5V。235.2GPIO接口模塊STM32F103VB封裝STM32F103VB處理器引腳分布對(duì)于STM32F103VB處理器而言,不同的封裝形式具有不同的引腳,分別支持了LQFP100和BGA100的封裝形式。由于BGA的封裝形式對(duì)焊接的要求比較高,因此,更多的ARM嵌入式工程師傾向于使用LQFP100的封裝形式,其引腳分布如右圖所示。

245.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述GPIO端口模式:GPIO端口的每個(gè)位可以通過編程分別配置成多種模式:

1.

浮空輸入GPIO_Mode_IN_FLOATING

2.

帶上拉輸入GPIO_Mode_IPU

3.

帶下拉輸入GPIO_Mode_IPD

4.

模擬輸入

GPIO_Mode_AIN

5.

開漏輸出GPIO_Mode_Out_OD

6.

推挽輸出

GPIO_Mode_Out_PP

7.

復(fù)用功能的推挽輸出GPIO_Mode_AF_PP

8.

復(fù)用功能的開漏輸出GPIO_Mode_AF_OD其中,模式7和模式8需根據(jù)具體的復(fù)用功能決定。255.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述I/O口輸出速度I/O口在輸出模式下,有3種輸出速度可選:2MHz、10MHz和50MHz;優(yōu)點(diǎn):有利于噪聲控制。注意:這個(gè)速度是指I/O口驅(qū)動(dòng)電路的響應(yīng)速度而不是輸出信號(hào)的速度,輸出信號(hào)的速度與程序有關(guān)。265.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述GPIO配置舉例操作步驟:

1.

使能GPIO對(duì)應(yīng)的外設(shè)時(shí)鐘

例如:使能GPIOA、GPIOB、GPIOC對(duì)應(yīng)的外設(shè)時(shí)鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA

|

RCC_APB2Periph_GPIOB|

RCC_APB2Periph_GPIOC

,

ENABLE);

2.

聲明一個(gè)GPIO_InitStructure結(jié)構(gòu)體

例如:GPIO_InitTypeDef

GPIO_InitStructure;

275.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述GPIO配置舉例操作步驟:

3、選擇待設(shè)置的GPIO管腳例如:/*選擇待設(shè)置的GPIO第7、8、9管腳位,中間加“|”符號(hào)*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;

4.設(shè)置選中GPIO管腳的速率例如:/*設(shè)置選中GPIO管腳的速率為最高速率2MHz*/

GPIO_InitStructure.GPIO_Speed

=GPIO_Speed_2MHz; //最高速率2MHz285.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述GPIO配置舉例操作步驟:

5、

設(shè)置選中GPIO管腳的模式例如:/*設(shè)置選中GPIO管腳的模式為開漏輸出模式*/

GPIO_InitStructure.GPIO_Mode=

GPIO_Mode_Out_OD;//開漏輸出模式6、根據(jù)GPIO_InitStructure中指定的參數(shù)初始化外設(shè)GPIOX例如:/*根據(jù)GPIO_InitStructure中指定的參數(shù)初始化外設(shè)GPIOC*/

GPIO_Init(GPIOC,&GPIO_InitStructure);295.1ARM處理器的選型與功能模塊5.2.2GPIO功能描述GPIO配置舉例操作步驟:

7、

其他應(yīng)用 例:將端口GPIOA的第10、15腳置1〔高電平〕GPIO_SetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);例:將端口GPIOA的第10、15腳置0〔低電平〕GPIO_ResetBits(GPIOA,GPIO_Pin_10|GPIO_Pin_15);305.1ARM處理器的選型與功能模塊5.2.3GPIO存放器描述每個(gè)GPIO端口有:兩個(gè)32位配置存放器(端口配置低存放器GPIOx_CRL,端口配置高存放器GPIOx_CRH),兩個(gè)32位數(shù)據(jù)存放器(端口輸入數(shù)據(jù)存放器GPIOx_IDR和端口輸出數(shù)據(jù)存放器GPIOx_ODR),一個(gè)32位置位/復(fù)位存放器(端口位設(shè)置/復(fù)位存放器GPIOx_BSRR),一個(gè)16位復(fù)位存放器(端口位復(fù)位存放器GPIOx_BRR)一個(gè)32位鎖定存放器(端口配置鎖定存放GPIOx_LCKR〕其他: 事件控制存放器EVCR、復(fù)用重映射和調(diào)試MAPR、配置存放器I/O、外部中斷線路0-15配置存放器EXTICR

315.2GPIO接口模塊5.2.4GPIO管腳庫(kù)函數(shù)在嵌入式開發(fā)系統(tǒng)中,用戶對(duì)STM32F103VB處理器GPIO端口的操作,既可以通過對(duì)芯片底層的存放器進(jìn)行直接操作,也可以使用ST公司提供的標(biāo)準(zhǔn)函數(shù)庫(kù)。STM32標(biāo)準(zhǔn)函數(shù)庫(kù)中關(guān)于GPIO端口函數(shù)覆蓋了幾乎所有對(duì)處理器引腳操作的功能:管腳設(shè)置,單位設(shè)置/重置,鎖定機(jī)制,從端口管腳讀入或者向端口管腳寫入數(shù)據(jù)。325.2GPIO接口模塊5.2.4GPIO管腳庫(kù)函數(shù)335.2GPIO接口模塊5.2.3GPIO管腳庫(kù)函數(shù)函數(shù)GPIO_DeInit用戶可以通過下面的代碼對(duì)函數(shù)GPIO_DeInit的具體使用方法進(jìn)行了解。該代碼的主要功能是將GPIO引腳中的端口A進(jìn)行初始化操作。//ResetGPIOAperipheralregisterstothedefaultresetvaluesGPIO_DeInit(GPIOA)函數(shù)GPIO_Init在函數(shù)GPIO_Init的第2個(gè)參數(shù)中,涉及到了新的函數(shù)類型GPIO_InitTypeDef,該結(jié)構(gòu)體中包含了有關(guān)GPIO端口的根本參數(shù),如引腳名稱、引腳傳輸速度、引腳工作模式等,其根本的語法結(jié)構(gòu)如下所示:typedefstruct{ u16GPIO_Pin; GPIOSpeed_TypyDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode;}GPIO_InitTypeDef345.2GPIO接口模塊函數(shù)GPIO_ReadInputDataBit該函數(shù)的主要功能是從ARM處理器GPIO端口引腳的狀態(tài),即1bit。用戶可以通過下面的代碼對(duì)函數(shù)GPIO_ReadInputDataBit的具體使用方法進(jìn)行了解。該代碼的主要功能是讀取GPIO引腳中的端口B中第7個(gè)管腳的輸入狀態(tài)。第1行://Readthe7thpinofGPIOBandstoreitinReadValuevariable第2行:u8ReadValue;第3行:ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);355.2GPIO接口模塊函數(shù)GPIO_ReadInputData在上述函數(shù)GPIO_ReadInputDataBit中,從功能角度上而言,只能對(duì)ARM處理器GPIO端口中的某一個(gè)引腳。在STM32標(biāo)準(zhǔn)函數(shù)庫(kù)中,用戶可以使用GPIO_ReadInputData來實(shí)現(xiàn)對(duì)ARM處理器引腳狀態(tài)的批量讀取操作。用戶可以通過下面的代碼對(duì)函數(shù)GPIO_ReadInputData的具體使用方法進(jìn)行了解。該代碼的主要功能是讀取GPIO引腳中的端口C中所有管腳的輸入狀態(tài)。第1行://ReadallpinsofGPIOBandstoretheresultinReadValuevariable第2行:u16ReadValue;第3行:ReadValue=GPIO_ReadInputData(GPIOC);365.2GPIO接口模塊函數(shù)GPIO_WriteBit在STM32標(biāo)準(zhǔn)函數(shù)庫(kù)中,用戶可以使用函數(shù)GPIO_WriteBit來實(shí)現(xiàn)對(duì)ARM處理器引腳狀態(tài)的寫數(shù)據(jù)操作。用戶可以通過下面的代碼對(duì)函數(shù)GPIO_WriteBit的具體使用方法進(jìn)行了解。該代碼的主要功能是將GPIOA端口中的第15引腳設(shè)置為高電平,即寫1操作。第1行://SettheGPIOAportpin15第2行:GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_Set);375.2GPIO接口模塊函數(shù)GPIO_Write在STM32標(biāo)準(zhǔn)函數(shù)庫(kù)中,用戶可以使用函數(shù)GPIO_Write來實(shí)現(xiàn)對(duì)ARM處理器GPIO端口多引腳的寫數(shù)據(jù)操作。用戶可以通過下面的代碼對(duì)函數(shù)GPIO_Write的具體使用方法進(jìn)行了解。該代碼的主要功能是將GPIOA端口中的引腳設(shè)置為0x1101,即寫數(shù)據(jù)0x1101操作。第1行://WritedatatoGPIOAport第2行:GPIO_Write(GPIOA,0x1101);385.2GPIO接口模塊函數(shù)GPIO_PinRemapConfig在STM32標(biāo)準(zhǔn)函數(shù)庫(kù)中,用戶可以使用函數(shù)GPIO_PinRemapConfig來實(shí)現(xiàn)對(duì)ARM處理器GPIO端口的復(fù)用功能進(jìn)行設(shè)置。用戶可以通過下面的代碼對(duì)GPIO_PinRemapConfig的具體使用方法進(jìn)行了解。該代碼的主要功能是將GPIOB端口中的第8引腳復(fù)用為I2C1_SCL功能,同時(shí)將GPIOB端口中的第9引腳復(fù)用為I2C1_SDA。第1行://RemapI2C1_SCLonPB.08,I2C1_SDAonPB.09第2行:GPIO_PinRemapConfig(GPIO_Remap_I2C1,ENABLE);395.2GPIO接口模塊

405.2GPIO接口模塊GPIO參考資料STM32中文參考手冊(cè)8通用和復(fù)用功能I/O(GPIO和AFIO)STM32固件庫(kù)使用手冊(cè)的中文翻譯版10通用輸入/輸出〔GPIO〕在ARM嵌入式系統(tǒng)中,用戶可以使用兩種不同的方式實(shí)現(xiàn)對(duì)GPIO端口引腳的操作。對(duì)于不同的管腳類型,特別是不同的ARM處理器類型,應(yīng)該當(dāng)根據(jù)GPIO端口引腳的內(nèi)部結(jié)構(gòu)選擇適宜的硬件電路。415.2GPIO接口模塊5.2.4GPIO的硬件電路無需上拉電阻的GPIO驅(qū)動(dòng)STM32F103XX系列ARM處理器使用灌電流的方式驅(qū)動(dòng)LED發(fā)光二極管。從電路原理圖中可以看出,GPIO端口在驅(qū)動(dòng)LED發(fā)光二極管時(shí),必須將PA.0管腳設(shè)置為數(shù)據(jù)輸出模式,如右圖。GPIO驅(qū)動(dòng)LED〔灌電流〕425.2GPIO接口模塊除此之外,用戶還可以使用推電流的方式來驅(qū)動(dòng)外部LED發(fā)光二極管,其根本的工作原理與灌電流驅(qū)動(dòng)類似,具體硬件電路如右圖。GPIO驅(qū)動(dòng)LED〔推電流〕435.2GPIO接口模塊需要上拉電阻的GPIO驅(qū)動(dòng)當(dāng)GPIO端口引腳作為信號(hào)輸入端口時(shí),由于內(nèi)部結(jié)構(gòu)沒有集成上拉電阻,所以在外部硬件電路設(shè)計(jì)過程中,需要加上一個(gè)10K的上拉電阻,將GPIO端口引腳拉到高電平。GPIO鍵盤輸入

445.2GPIO接口模塊GPIO參考資料STM32中文參考手冊(cè)STM32固件庫(kù)使用手冊(cè)的中文翻譯版455.2GPIO接口模塊5.2.5根底實(shí)驗(yàn)一:汽車平安帶報(bào)警指示燈與蜂鳴器實(shí)驗(yàn)在汽車行駛過程中,平安帶對(duì)駕駛員及其乘客起到重要的保護(hù)作用。但局部乘客,特別是非駕駛員乘客,在乘坐汽車的過程中都容易疏忽平安帶的使用。因此,在車輛起步前,檢查平安帶的工作狀態(tài)并及時(shí)作出報(bào)警指示具有重要的意義。實(shí)驗(yàn)內(nèi)容分析硬件電路設(shè)計(jì)軟件代碼設(shè)計(jì):教材P176,軟件代碼補(bǔ)充實(shí)驗(yàn)及擴(kuò)展46AD模數(shù)模塊〔Analog-to-DigitalConverter〕,模擬/數(shù)字轉(zhuǎn)換器,主要功能是將連續(xù)變量的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)。由于ARM只能處理數(shù)字信號(hào),因此,在對(duì)外部的模擬信號(hào)進(jìn)行分析、處理的過程中,必須使用ADC模塊將外部的模擬信號(hào)轉(zhuǎn)換成ARM所能處理的數(shù)字信號(hào)。第五章STM32F103XX功能模塊5.3ADC模數(shù)轉(zhuǎn)換模塊475.3ADC模數(shù)轉(zhuǎn)換模塊5.3.1ADC概述

在ARM處理器STM32F103VB中,系統(tǒng)內(nèi)部集成了2個(gè)內(nèi)部12bit的模擬數(shù)字轉(zhuǎn)換器ADC,每一個(gè)ADC共用16個(gè)外部通道,可實(shí)現(xiàn)單次模數(shù)轉(zhuǎn)換或掃描模數(shù)轉(zhuǎn)換。對(duì)于處理器STM32F103VB中的模數(shù)轉(zhuǎn)換器,其ADC接口上的主要邏輯功能包括:同步采樣和保持功能;交叉采樣和保持功能;單次采樣功能;

485.3ADC模數(shù)轉(zhuǎn)換模塊5.3.1ADC概述ADC主要特征●12位分辨率●各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行●自校準(zhǔn)●帶內(nèi)嵌數(shù)據(jù)一致性的數(shù)據(jù)對(duì)齊,ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)存放器中?!癫蓸娱g隔可以按通道分別編程●規(guī)那么轉(zhuǎn)換和注入轉(zhuǎn)換均有外部觸發(fā)選項(xiàng)●雙重模式(帶2個(gè)或以上ADC的器件)495.3ADC模數(shù)轉(zhuǎn)換模塊5.3.1ADC概述ADC主要特征●ADC轉(zhuǎn)換時(shí)間:─STM32F103xx增強(qiáng)型產(chǎn)品:時(shí)鐘為56MHz時(shí)為1μs(時(shí)鐘為72MHz為1.17μs)●ADC供電要求:2.4V到3.6V,不建議直接使用電源電壓●ADC輸入范圍:VREF-≤VIN≤VREF+●規(guī)那么通道轉(zhuǎn)換期間有DMA請(qǐng)求產(chǎn)生。為了到達(dá)更快的傳輸速率,STM32F103VB處理器ADC支持DMA〔直接內(nèi)存存取操作〕,由于數(shù)據(jù)在系統(tǒng)內(nèi)部存儲(chǔ)地址之間直接進(jìn)行傳輸,因此可以在很大程度上提高數(shù)據(jù)轉(zhuǎn)換速度。505.3ADC模數(shù)轉(zhuǎn)換模塊5.3.2ADC管腳描述在STM32F103VB中,除了基準(zhǔn)電壓輸入引腳〔VREF+和VREF-〕外,不存在特定的直接用于AD轉(zhuǎn)化的管腳,都是采用管腳復(fù)用功能實(shí)現(xiàn)對(duì)模擬信號(hào)的處理。注意:當(dāng)用戶將模擬輸入信號(hào)連接到ADC模塊引腳上時(shí),需要將模塊對(duì)應(yīng)的引腳設(shè)置為“模擬信號(hào)輸入模式”515.3ADC模數(shù)轉(zhuǎn)換模塊5.3.3ADC存放器

525.2ADC模數(shù)轉(zhuǎn)換模塊5.3.4ADC庫(kù)函數(shù)在嵌入式開發(fā)系統(tǒng)中,用戶對(duì)STM32F103VB處理器ADC的操作,需要使用ST公司提供的標(biāo)準(zhǔn)函數(shù)庫(kù)。535.3ADC模數(shù)轉(zhuǎn)換模塊5.3.4ADC庫(kù)函數(shù)在AD轉(zhuǎn)換器硬件電路設(shè)計(jì)過程中,輸入電壓原那么上不可以超過芯片供電電壓。在前面的內(nèi)容中也向讀者介紹過在條件允許的情況下,盡量防止直接將電源電壓直接連接到AD轉(zhuǎn)換器的參考電壓輸入端,以防止電源信號(hào)的帶來的干擾。因此,用戶需要設(shè)計(jì)更為精準(zhǔn)的參考電壓電路為芯片的AD轉(zhuǎn)換提供穩(wěn)定的基準(zhǔn)電壓。545.3ADC模數(shù)轉(zhuǎn)換模塊5.3.4ADC硬件電路TL431基準(zhǔn)電壓〔1〕可編程基準(zhǔn)電壓輸出,最高可達(dá)36V;〔2〕電壓參考源輸出誤差典型值為±0.4%〔25℃〕;〔3〕較低的動(dòng)態(tài)輸出阻抗,典型值為0.22Ω;〔4〕具有1mA~100mA的灌電流能力;〔5〕典型值為50ppm/℃的等效全范圍溫度系統(tǒng);〔6〕在整個(gè)額定工作溫度范圍內(nèi)可進(jìn)行輸出電壓溫度補(bǔ)償;〔7〕較低的輸出噪聲電壓;555.3ADC模數(shù)轉(zhuǎn)換模塊模擬數(shù)字信號(hào)隔離電路

如果在高速模數(shù)轉(zhuǎn)換器(ADC)和混合信號(hào)電路及系統(tǒng)中采用了不正確的接地方法,當(dāng)數(shù)字回流(地電流)進(jìn)入模擬電路局部時(shí),就會(huì)引起過多噪聲,降低ADC轉(zhuǎn)換的精度。信號(hào)隔離的目的在于從電路上把干擾源和易受干擾的局部隔離開來,使測(cè)控裝置與現(xiàn)場(chǎng)僅保持信號(hào)聯(lián)系,而不直接發(fā)生信號(hào)之間的聯(lián)系。隔離的實(shí)質(zhì)是把引進(jìn)的干擾通道切斷,從而到達(dá)隔離現(xiàn)場(chǎng)干擾的目的。565.3ADC模數(shù)轉(zhuǎn)換模塊575.3ADC模數(shù)轉(zhuǎn)換模塊5.3.5根底實(shí)驗(yàn)二:汽車發(fā)動(dòng)機(jī)水溫測(cè)量系統(tǒng)實(shí)驗(yàn)隨著汽車行業(yè)的不斷開展,汽車上電器設(shè)備數(shù)據(jù)日益增多,使得發(fā)動(dòng)機(jī)的功率也逐步增大,發(fā)動(dòng)機(jī)產(chǎn)生的熱量也不斷升高。如果不能處理好發(fā)動(dòng)機(jī)的冷卻降溫問題,將影響到汽車的動(dòng)力性能,所以對(duì)發(fā)動(dòng)機(jī)水溫的監(jiān)測(cè)是非常重要的。溫度的測(cè)量實(shí)驗(yàn)內(nèi)容分析硬件電路設(shè)計(jì)軟件代碼設(shè)計(jì),P201程序代碼補(bǔ)充實(shí)驗(yàn)及擴(kuò)展

585.3ADC模數(shù)轉(zhuǎn)換模塊GPIO參考資料STM32中文參考手冊(cè)

11模擬/數(shù)字轉(zhuǎn)換(ADC)STM32固件庫(kù)使用手冊(cè)的中文翻譯版

4.模擬/數(shù)字轉(zhuǎn)換器59在STM32F103XX系列處理器中,系統(tǒng)內(nèi)置嵌套的向量式中斷控制器NVIC,能夠處理多達(dá)43個(gè)可屏蔽中斷通道〔不包含15個(gè)Cortex-M3的中斷線〕和16個(gè)優(yōu)先級(jí),具體參數(shù)特性如下所示:〔1〕支持43個(gè)可屏蔽的中斷通道〔2〕支持16個(gè)可編程的中斷優(yōu)先級(jí)〔采用4位中斷優(yōu)先級(jí)〕〔3〕具有極低的延時(shí)異常和中斷處理功能〔4〕支持對(duì)系統(tǒng)電源的中斷管理控制〔5〕支持中斷尾部鏈接功能〔6〕自動(dòng)保存當(dāng)前處理器的狀態(tài)〔7〕中斷返回時(shí)自動(dòng)回復(fù)系統(tǒng)中斷初始狀態(tài),無需任何額外指令開銷第五章STM32F103XX功能模塊5.4EXTI中斷模塊605.4EXTI中斷模塊5.4.1外部中斷/事件的分類在STM32F103XX系列處理器中,系統(tǒng)支持了各種不同類型的中斷形式,且不同中斷的各個(gè)特征參數(shù),如優(yōu)先級(jí)、中斷地址等,也各不相同。教材P208,表5.41來查看系統(tǒng)所支持的中斷類型。外部中斷/事件控制器包含了19個(gè)邊沿檢測(cè)器,且STM32F103XX處理器中多達(dá)80個(gè)通用IO端口可以被直接映射到這19個(gè)外部中斷線,每一個(gè)中斷線都可以獨(dú)立的配置觸發(fā)事件,并且能夠單獨(dú)的被系統(tǒng)屏蔽。其中,系統(tǒng)還提供了一個(gè)掛起存放器維持所有中斷請(qǐng)求的狀態(tài)。615.4EXTI中斷模塊5.4.2外部中斷/事件的結(jié)構(gòu)外部中斷/事件控制器EXTI的主要特性如下所示:〔1〕每根外部中斷/事件輸入線上均可獨(dú)立觸發(fā)和屏蔽〔2〕每根外部中斷/事件輸入線都具有專門的狀態(tài)標(biāo)志位〔3〕最多可產(chǎn)生19個(gè)軟件事件/中斷請(qǐng)求〔4〕可捕獲脈寬低于APB時(shí)鐘的外部信號(hào)625.4EXTI中斷模塊外部中斷/事件控制器結(jié)構(gòu)STM32處理器中某一條外部中斷線或外部事件線的信號(hào)結(jié)構(gòu)圖:圖中虛線標(biāo)出了外部中斷信號(hào)的傳輸路徑。外部中斷/事件信號(hào)從芯片管腳1輸入,經(jīng)過邊沿檢測(cè)電路2后,通過或門3進(jìn)入中斷“掛起請(qǐng)求存放器”,最后經(jīng)過與門4將外部信號(hào)輸出到NVIC中斷控制器。635.4EXTI中斷模塊5.4.3外部中斷/事件的執(zhí)行順序與嵌套通常情況下,外部中斷/事件的處理可以分為以下4個(gè)過程,具體如下所示:中斷請(qǐng)求和優(yōu)先級(jí)中斷的響應(yīng)中斷的處理中斷的返回645.4EXTI中斷模塊5.4.4外部中斷/事件的選擇在STM32F103VB處理器中,系統(tǒng)能夠處理外部時(shí)間或者內(nèi)部事件以喚醒內(nèi)核WFE,通過配置外部線路,任意的IO端口、RTC鬧鐘以及USB喚醒等事件都可以用來喚醒休眠狀態(tài)的CPU,即從WFE退出。655.4EXTI中斷模塊5.4.3外部中斷/事件的執(zhí)行順序與嵌套中斷的產(chǎn)生:要產(chǎn)生中斷,必須先配置好并使能中斷線。根據(jù)需要的邊沿檢測(cè)設(shè)置2個(gè)觸發(fā)存放器,同時(shí)在中斷屏蔽存放器的相應(yīng)位寫’1’允許中斷請(qǐng)求。當(dāng)外部中斷線上發(fā)生了期待的邊沿時(shí),將產(chǎn)生一個(gè)中斷請(qǐng)求,對(duì)應(yīng)的掛起位也隨之被置’1’。在掛起存放器的對(duì)應(yīng)位寫’1’,將去除該中斷請(qǐng)求。665.4EXTI中斷模塊5.4.3外部中斷/事件的執(zhí)行順序與嵌套硬件中斷的選擇配置中斷線的屏蔽位(EXTI_IMR)配置所選中斷線的觸發(fā)選擇位(EXTI_RTSR和EXTI_FTSR);配置對(duì)應(yīng)到外部中斷控制器(EXTI)的NVIC中斷通道的使能和屏蔽位,使中斷線中的請(qǐng)求可以被正確地響應(yīng)。

675.4EXTI中斷模塊5.4.3外部中斷/事件的執(zhí)行順序與嵌套硬件事件的選擇配置事件線的屏蔽位(EXTI_EMR)配置事件線的觸發(fā)選擇位(EXTI_RTSR和EXTI_FTSR)軟件中斷/事件的選擇配置中斷/事件線屏蔽位(EXTI_IMR,EXTI_EMR)設(shè)置軟件中斷存放器的請(qǐng)求位(EXTI_SWIER)685.4EXTI中斷模塊5.4.3外部中斷/事件的執(zhí)行順序與嵌套外部中斷/事件線路映像80通用I/O端口連接到19個(gè)外部中斷/事件線上:。。。另外三種其他的外部中斷/事件控制器的連接如下:

EXTI線16連接到PVD輸出

EXTI線17連接到RTC鬧鐘事件

EXTI線18連接到USB喚醒事件695.4EXTI中斷模塊5.4.5外部中斷/事件存放器EXTI存放器的參數(shù)是通過結(jié)構(gòu)體的方式來描述的。EXTI_TypeDef,在文件“stm32f10x_map.h”中定義如下:Typedefstruct{vu32IMR;vu32EMR;vu32RTSR;vu32FTSR;vu32SWIER;vu32PR;}EXTI_TypeDef;705.4EXTI中斷模塊存放器功能及描述在下面的內(nèi)容中,選擇上述函數(shù)庫(kù)中局部常用的函數(shù)進(jìn)行簡(jiǎn)單的介紹,使得用戶對(duì)這些函數(shù)的具體使用方法有一定的了解。

函數(shù)EXTI_DeInit函數(shù)EXTI_Init函數(shù)EXTI_GenerateSWInterrupt函數(shù)EXTI_GetFlagStatus函數(shù)EXTI_ClearFlag函數(shù)EXTI_GetITStatus函數(shù)EXTI_ClearITPendingBit715.4EXTI中斷模塊725.4EXTI中斷模塊5.4.6外部中斷/事件硬件電路外部中斷/事件都可以通過GPIO端口中的引腳進(jìn)行輸入,可以分為2種觸發(fā)類型:電平觸發(fā)所謂邊沿觸發(fā),是指電平從高到低跳變(負(fù)跳變)或從低到高跳變(正跳變)時(shí)才發(fā)生觸發(fā);邊沿觸發(fā)電平觸發(fā)是指只有高電平〔或者低電平〕的時(shí)候才產(chǎn)生。觸發(fā)電路為了確保外部中斷/事件能夠產(chǎn)生嚴(yán)格的觸發(fā)波形,一般使用按鍵的方式產(chǎn)生相應(yīng)的外部中斷。觸發(fā)電路主要有低電平(下降沿)觸發(fā)與高電平(上升沿)觸發(fā)兩種,如右圖所示。735.4EXTI中斷模塊上升沿觸發(fā)與下降沿觸發(fā)電路在汽車行駛的過程中,經(jīng)常會(huì)遇到緊急制動(dòng)的情況。對(duì)于汽車制動(dòng)而言,需要具有嚴(yán)格的實(shí)時(shí)性要求。因此,在汽車緊急制動(dòng)過程中,可以使用中斷的方式來模擬汽車的緊急制動(dòng)信號(hào),如右圖所示。745.4EXTI中斷模塊5.4.6根底實(shí)驗(yàn)三:汽車緊急制動(dòng)實(shí)驗(yàn)汽車制動(dòng)系統(tǒng)原理755.4EXTI中斷模塊試驗(yàn)主要有以下幾個(gè)流程:實(shí)驗(yàn)內(nèi)容分析硬件電路設(shè)計(jì)軟件代碼設(shè)計(jì),P224-228程序代碼補(bǔ)充實(shí)驗(yàn)及擴(kuò)展

765.4EXTI中斷模塊EXIT參考資料STM32中文參考手冊(cè)STM32固件庫(kù)使用手冊(cè)的中文翻譯版77在STM32F103XX增強(qiáng)型系列產(chǎn)品中,芯片包含了:1個(gè)高級(jí)控制定時(shí)器TIM13個(gè)通用定時(shí)器TIM2、TIM3、TIM4、2個(gè)看門狗定時(shí)器:獨(dú)立看門狗、窗口看門狗1個(gè)系統(tǒng)時(shí)基定時(shí)器第五章STM32F103XX功能模塊5.5高級(jí)控制定時(shí)器TIM178第五章STM32F103XX功能模塊定時(shí)器計(jì)數(shù)器分辨率計(jì)數(shù)器類型預(yù)分頻系數(shù)產(chǎn)生DMA請(qǐng)求捕獲/比較通道互補(bǔ)輸出TIM116位向上,向下,向上/向下1-65536之間的任意數(shù)可以4有TIM2TIM3TIM416位向上,向下,向上/向下1-65536之間的任意數(shù)可以4沒有系統(tǒng)定時(shí)器功能比較對(duì)于一個(gè)定時(shí)器而言要做到精確定時(shí)需要關(guān)注2個(gè)內(nèi)容:1.預(yù)分頻器2.定時(shí)計(jì)數(shù)器的值795.5高級(jí)控制定時(shí)器TIM15.5.1TIM1的結(jié)構(gòu)特性16位向上、向下、向上/下自動(dòng)裝載計(jì)數(shù)器16位可編程(可以實(shí)時(shí)修改)預(yù)分頻器,計(jì)數(shù)器時(shí)鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值多達(dá)4個(gè)獨(dú)立通道:─輸入捕獲─輸出比較─PWM生成(邊緣或中間對(duì)齊模式)─單脈沖模式輸出死區(qū)時(shí)間可編程的互補(bǔ)輸出使用外部信號(hào)控制定時(shí)器和定時(shí)器互聯(lián)的同步電路允許在指定數(shù)目的計(jì)數(shù)器周期之后更新定時(shí)器存放器的重復(fù)計(jì)數(shù)器剎車輸入信號(hào)可以將定時(shí)器輸出信號(hào)置于復(fù)位狀態(tài)或者一個(gè)狀態(tài)805.5高級(jí)控制定時(shí)器TIM15.5.1TIM1的結(jié)構(gòu)特性如下事件發(fā)生時(shí)產(chǎn)生中斷/DMA:─更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))─觸發(fā)事件(計(jì)數(shù)器啟動(dòng)、停止、初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù))─輸入捕獲,輸出比較,剎車信號(hào)輸入支持針對(duì)定位的增量(正交)編碼器和霍爾傳感器電路觸發(fā)輸入作為外部時(shí)鐘或者按周期的電流管理815.5高級(jí)控制定時(shí)器TIM1

高級(jí)控制定時(shí)器TIM1框圖825.5高級(jí)控制定時(shí)器TIM15.5.2TIM1的功能除了具有通用定時(shí)器TIMx具有的定時(shí)功能外,還具備一些高級(jí)控制定時(shí)的功能:時(shí)基單元:計(jì)數(shù)器存放器(TIM1_CNT)預(yù)分頻器存放器(TIM1_PSC)自動(dòng)裝載存放器(TIM1_ARR)重復(fù)計(jì)數(shù)存放器(TIM1_RCR)835.5高級(jí)控制定時(shí)器TIM15.5.2TIM1的功能計(jì)數(shù)器模式:向上計(jì)數(shù)模式,計(jì)數(shù)器從0計(jì)數(shù)到自動(dòng)加載值(TIMx_ARR計(jì)數(shù)器內(nèi)容),然后重新從0開始計(jì)數(shù)并且產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。向下計(jì)數(shù)模式,計(jì)數(shù)器從自動(dòng)裝入的值(TIMx_ARR)開始向下計(jì)數(shù)到0,然后從自動(dòng)裝入的值重新開始,并產(chǎn)生一個(gè)計(jì)數(shù)器向下溢出事件。中央對(duì)齊模式〔向上/向下計(jì)數(shù)〕,計(jì)數(shù)器從0開始計(jì)數(shù)到自動(dòng)裝入的值-1,產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件,然后向下計(jì)數(shù)到1并且產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件;然后再?gòu)?開始重新計(jì)數(shù)。845.5高級(jí)控制定時(shí)器TIM15.5.2TIM1的功能計(jì)數(shù)器模式:重復(fù)計(jì)數(shù)器〔循環(huán)向下計(jì)數(shù)模式〕:重復(fù)計(jì)數(shù)器在下述任一條件成立時(shí)遞減:●向上計(jì)數(shù)模式下每次計(jì)數(shù)器溢出時(shí),●向下計(jì)數(shù)模式下每次計(jì)數(shù)器下溢時(shí),●中央對(duì)齊模式下每次上溢和每次下溢時(shí)855.5高級(jí)控制定時(shí)器TIM15.5.2TIM1的功能時(shí)鐘來源:內(nèi)部時(shí)鐘(CK_INT)外部時(shí)鐘模式1:外部輸入腳(TIx)外部時(shí)鐘模式2:外部觸發(fā)輸入(ETR)內(nèi)部觸發(fā)輸入(ITRx):使用一個(gè)定時(shí)器作為另一個(gè)定時(shí)器的預(yù)分頻器,如可以配置一個(gè)定時(shí)器Timer1而作為另一個(gè)定時(shí)器Timer2的預(yù)分頻器865.5高級(jí)控制定時(shí)器TIM15.5.3TIM1的控制存放器高級(jí)控制定時(shí)器TIM1存放器的根本結(jié)構(gòu)和用法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論