第5章 stm32單片機外部中斷1_第1頁
第5章 stm32單片機外部中斷1_第2頁
第5章 stm32單片機外部中斷1_第3頁
第5章 stm32單片機外部中斷1_第4頁
第5章 stm32單片機外部中斷1_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

退出嵌入式單片機原理及應用電氣工程學院儀器科學與工程系1ARM嵌入式系統(tǒng)概述2STM32單片機結(jié)構(gòu)和最小系統(tǒng)

3基于標準外設庫的C語言程序設計基礎(chǔ)

4STM32通用輸入輸出GPIO5STM32外部中斷6STM32通用定時器7STM32通用同步/異步收發(fā)器USART8直接存儲器存取DMA9STM32的模數(shù)轉(zhuǎn)換器ADC10STM32的集成電路總線I2C11STM32的串行外設接口SPI第5章STM32單片機外部中斷5.1中斷相關(guān)概念5.2STM32F103中斷系統(tǒng)組成5.3中斷控制5.4中斷執(zhí)行過程和中斷嵌套5.5STM32外部中斷應用設計退出5.1中斷的相關(guān)概念

中斷:單片機執(zhí)行主程序時,由于某個事件的原因,暫停主程序的執(zhí)行,調(diào)用相應的程序處理該事件,處理完畢后再自動繼續(xù)執(zhí)行主程序的過程。

中斷的優(yōu)先級:由中斷的嵌套可以看出,不同事件的重要程度不同。重要的事件可以打斷相對不重要的事件的處理,用戶可以根據(jù)自己的需求對不同的事件設定重要級別,稱為中斷的優(yōu)先級。

中斷的嵌套:如果在執(zhí)行一個中斷時又被另一個更重要的事件打斷,暫停該中斷處理過程轉(zhuǎn)去處理這個更重要的事件,處理完畢后再繼續(xù)處理本中斷的過程,叫作中斷的嵌套。

中斷源:可以引起中斷的事件稱為中斷源。5.1中斷的相關(guān)概念中斷服務程序與中斷向量:為了處理中斷而編寫的程序稱為中斷服務程序,對應中斷服務程序的入口地址被稱為中斷向量。中斷請求、中斷響應、中斷處理及中斷返回:中斷源對主程序或中斷服務程序提出中斷要求,叫作中斷請求;主程序或中斷服務程序接受中斷請求,進入中斷服務程序的過程叫作中斷響應;執(zhí)行中斷服務程序的過程叫作中斷處理;中斷服務程序執(zhí)行完畢后回到主程序或者次一級別中斷服務程序的過程叫作中斷返回。中斷處理的整個過程包含了中斷請求、中斷響應、中斷處理及中斷返回四個步驟。中斷系統(tǒng):實現(xiàn)中斷處理功能的軟件、硬件系統(tǒng)稱為中斷系統(tǒng)。5.2STM32F103中斷系統(tǒng)組成5.2.1中斷源STM32F103中斷系統(tǒng)提供10個系統(tǒng)異常和60個可屏蔽中斷(STM32F107系列為68個)源,具有16個中斷優(yōu)先級??善帘沃袛嘣窗ǎ和獠恐袛?、定時器中斷、串口中斷直接內(nèi)存訪問中斷模數(shù)轉(zhuǎn)換中斷集成電路總線中斷串行外設接口中斷等。5.2.2中斷向量:表5-1給出STM32F103中斷向量表5.3中斷控制5.3.1中斷屏蔽控制中斷屏蔽控制包括NVIC控制和外設中斷控制EXTI。NVIC為中斷總開關(guān),由中斷設置允許寄存器(NVIC_ISER)、中斷清除允許寄存器(NVIC_ICER)、中斷設置掛起寄存器(NVIC_ISPR)、中斷清除掛起寄存器(NVIC_ICPR)和中斷狀態(tài)寄存器(NVIC_IABR)控制。除GPIO由EXTI控制中斷外,其它的外設均有自己的中斷屏蔽控制寄存器,如定時器中斷由DMA/中斷使能寄存器(TIM_DIER)控制、串口中斷由狀態(tài)寄存器(USART_SR)和控制寄存器3(USART_CR3)控制。

5.3.2中斷控制器NVIC為中斷總開關(guān):支持68個可屏蔽中斷。提供16個可編程的優(yōu)先級,支持中斷嵌套,提供向量中斷處理機制等功能。中斷發(fā)生時,自動獲得服務例程入口地址并直接調(diào)用,無需軟件判定中斷源。主要包括:中斷設置允許寄存器(NVIC_ISER)中斷清除允許寄存器(NVIC_ICER)中斷設置掛起寄存器(NVIC_ISPR)中斷清除掛起寄存器(NVIC_ICPR)中斷狀態(tài)寄存器(NVIC_IABR)控制。5.3.2中斷控制器與NVIC相關(guān)的寄存器在“stm32f10x_map.h”文件中定義了一個結(jié)構(gòu)體,結(jié)構(gòu)體的內(nèi)容如下STM32F103系列單片機的中斷系統(tǒng)在這些寄存器的控制下有序執(zhí)行。了解這些中斷寄存器的含義,才能更好的理解STM32單片機中斷系統(tǒng)的工作原理typedefstruct{vu32ISER[2];u32RESERVED0[30];vu32ICER[2];u32RESERVED1[30];vu32ISPR[2];u32RESERVED2[30];vu32ICPR[2];u32RESERVED3[30];vu32IABR[2];u32RESERVED4[30];vu32IPR[15];}NVIC_TypeDef5.3.2中斷控制器ISER[2]:ISER全稱是:InterruptSet-EnableRegisters,中斷使能寄存器組。STM32F103系列的單片機可屏蔽外部中斷有60個,用2個32位的ISER寄存器來表示,這2個32位的寄存器總共可以表示64個外部中斷。而STM32F103系列單片機只用了ISER寄存器其中的前60位。ISER[0]的bit0~bit31分別對應是外部中斷0~31。ISER[1]的bit0~27對應外部中斷32~59;這樣總共60個外部中斷就分別對應上了。使能某個中斷,必須設置相應的ISER位為15.3.2中斷控制器具體有哪些外部中斷,在“stm32f10x_nvic.h”這個頭文件中已經(jīng)定義5.3.2中斷控制器5.3.2中斷控制器ICER[2]:全稱InterruptClear-EnableRegisters,是一個中斷清除使能寄存器組。該寄存器組與ISER寄存器功能相反,用來清除某個中斷的使能位。由于NVIC的這些寄存器都是寫1有效的,寫0是無效的。設置一組ICER寄存器來清除相應中斷使能位。ISPR[2]:全稱InterruptSet-PendingRegisters,是一個中斷掛起控制寄存器組。每個位對應的外部中斷和ISER內(nèi)容是一樣的。通過向相應的位寫1,可以將正在執(zhí)行的中斷掛起,去執(zhí)行同級或更高級別的中斷。向這個寄存器組寫0是無效的。5.3.2中斷控制器ICPR[2]:全稱InterruptClear-PendingRegisters,是單片機的中斷解掛寄存器組。其功能和ISPR寄存器相反,對應位的內(nèi)容也和ISER寄存器是一樣的。通過寫1,可以將相應的中斷解掛。寫0無效。IABR[2]:全稱InterruptActiveBitRegisters,單片機中斷激活標志位寄存器組。它是一個只讀寄存器,CPU通過讀取這個寄存器的相應位就可以知道當前有哪些中斷正在執(zhí)行。在相應的中斷執(zhí)行完成以后由硬件自動清零。對應位所代表的中斷內(nèi)容和ISER一樣,如果相應位為1,則表示該位所對應的中斷正在被執(zhí)行。5.3.2中斷控制器IPR[15]:全稱InterruptPriorityRegisters,是一個中斷優(yōu)先級控制的寄存器組。這個寄存器組比較重要,STM32F103系列單片機的外部中斷分組與這個寄存器組密切相關(guān)。因為STM32F103系列單片機的外部中斷有60個,所以采用中斷分組的辦法來確定中斷的優(yōu)先級。IPR寄存器組由15個32位的寄存器組成,每個可屏蔽中斷占用8位IPR[0]的[0~7],[8~15],[16~23],[24~31]分別對應中斷編號為0~3,依此類推,總共對應60個外部中斷。而每個可屏蔽中斷占用的8bit并沒有全部使用,只采用高4位。這4位,又分為搶占優(yōu)先級和響應優(yōu)先級。搶占優(yōu)先級在前,響應優(yōu)先級在后。5.3.2中斷控制器STM32F103系列單片機外部中斷分為5個組,組0~4。分組的設置是由SCB->AIRCR寄存器的bit10~8這3位來定義的。具體的分配關(guān)系如下表所示:5.3.2中斷控制器為使STM32單片機的中斷系統(tǒng)能及時響應并處理發(fā)生的所有中斷,系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫程度,STM32單片機的硬件將外設的中斷源分為2個級別,這2個級別就是STM32F103系列單片機的搶占優(yōu)先級和響應優(yōu)先級;如果兩個中斷源的搶占優(yōu)先級和響應優(yōu)先級都是一樣的話,則看哪個中斷先發(fā)生就先執(zhí)行;高搶占優(yōu)先級中斷是可以打斷正在進行的低搶占優(yōu)先級中斷的。而搶占優(yōu)先級相同的中斷,高響應優(yōu)先級中斷不可以打斷正在執(zhí)行的低響應優(yōu)先級中斷。搶占優(yōu)先級和響應優(yōu)先級響應優(yōu)先級可設置為0到15級。判斷兩個中斷的優(yōu)先級時:(1)先看搶占優(yōu)先級的高低;(2)再看響應優(yōu)先級的高低;(3)看中斷通道向量地址。一個系統(tǒng)使用一個組別就完全可以滿足需要,在使用一個組別后不要在系統(tǒng)中再改動組別。搶占優(yōu)先級和響應優(yōu)先級5.3.2中斷控制器5.3.2中斷控制器假定設置中斷優(yōu)先級為組2,然后設置:

中斷3(RTC中斷)的搶占優(yōu)先級為2,響應優(yōu)先級為1。

中斷6(外部中斷0)的搶占優(yōu)先級為3,響應優(yōu)先級為0。

中斷7(外部中斷1)的搶占優(yōu)先級為2,響應優(yōu)先級為0。

求這3個中斷的優(yōu)先級順序?上面例子中的中斷3和中斷7都可以打斷中斷6的中斷。而中斷7和中斷3卻不可以相互打斷(這是因為他們的搶占優(yōu)先級是相同的)。搶占優(yōu)先級和響應優(yōu)先級外部中斷/事件控制器EXTI,主要特性:(1)每個中斷/事件都有獨立的觸發(fā)和屏蔽;(2)每個中斷線都有專用的狀態(tài)位;(3)支持多達19個中斷/事件請求;(4)檢測脈沖寬度低于APB2時鐘寬度的外部信號。5.3.3相關(guān)功能寄存器1.中斷屏蔽寄存器(EXTI_IMR)2.事件屏蔽寄存器(EXTI_EMR)3.上升沿觸發(fā)選擇寄存器(EXTI_RTSR)4.下降沿觸發(fā)選擇寄存器(EXTI_FTSR)5.軟件中斷事件寄存器(EXTI_SWIER)6.中斷掛起寄存器(EXTI_PR)5.3.3相關(guān)功能寄存器EXTI_IMR(Interruptmaskregister)中斷屏蔽寄存器5.3.3相關(guān)功能寄存器EXTI_EMR(Eventmaskregister)中斷事件屏蔽寄存器5.3.3相關(guān)功能寄存器EXTI_RTSR(Risingtriggerselectionregister)上升沿觸發(fā)寄存器5.3.3相關(guān)功能寄存器EXTI_FTSR(Fallingtriggerselectionregister)下降沿觸發(fā)器5.3.3相關(guān)功能寄存器EXTI_SWIER(Softwareinterrupteventregister)軟件中斷事件寄存器5.3.3相關(guān)功能寄存器EXTI_PR(PendingRegister)中斷掛起寄存器5.3.3相關(guān)功能寄存器5.4中斷執(zhí)行過程和中斷嵌套1中斷請求和優(yōu)先級如果系統(tǒng)中存在多個中斷源,處理器要先判斷當前中斷的優(yōu)先級。多個中斷請求同時到達時,先響應優(yōu)先級高的中斷。如果它們的搶占優(yōu)先級相同,則先處理響應優(yōu)先級高的中斷。例如有三個中斷向量:中斷向量搶占優(yōu)先級響應優(yōu)先級A00B10C11如果內(nèi)核正在執(zhí)行C的中斷服務程序,則能被搶占優(yōu)先級更高的中斷A打斷;由于B和C的搶占優(yōu)先級相同,所以C不會被B打斷;但如果B和C兩個中斷同時到達,則響應優(yōu)先級更高的B會被先執(zhí)行。5.5STM32外部中斷應用設計5.5.1STM32外部中斷常用的庫函數(shù)函數(shù)名描述NVIC_PriorityGroupConfig設置優(yōu)先級分組:搶占優(yōu)先級和響應優(yōu)先級NVIC_Init根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設NVIC寄存器NVIC_SetVectorTable設置向量表的位置和偏移NVIC_SystemLPConfig選擇系統(tǒng)進入低功耗模式的條件5.5.2STM32中斷的設計1.NVIC設置(1)根據(jù)需要對中斷優(yōu)先級進行分組,確定搶占優(yōu)先級和響應優(yōu)先級的個數(shù)。(2)選擇中斷通道,不同的引腳對應不同的中斷通道,在stm32f10x.h中定義了中斷通道結(jié)構(gòu)體IRQn_Type,包含了所有型號芯片的所有中斷通道。(3)根據(jù)系統(tǒng)要求設置中斷優(yōu)先級,包括搶占優(yōu)先級和響應優(yōu)先級。(4)使能相應的中斷,完成NVIC配置。5.5.2STM32中斷的設計使用庫函數(shù)NVIC_PriorityGroupConfig()實現(xiàn)STM32F103系列的單片機中斷系統(tǒng)分組5.5.2STM32中斷的設計入口參數(shù)NVIC_PriorityGroup5.5.2STM32中斷的設計舉例:如代碼的第17行所示,利用“NVIC_PriorityGroupConfig()”庫函數(shù)將外部中斷分為組2。即,搶占優(yōu)先級可以設置為0-3,響應優(yōu)先級也是可以設置為0-3的,這是因為它們搶占優(yōu)先級占2位,響應優(yōu)先級也占2位。:5.5.2STM32中斷的設計結(jié)構(gòu)體“NVIC_InitTypeDef”定義typedefstruct{uint8_tNVIC_IRQChannel;uint8_tNVIC_IRQChannelPreemptionPriority;uint8_tNVIC_IRQChannelSubPriority;FunctionalStateNVIC_IRQChannelCmd;}NVIC_InitTypeDef;5.5.2STM32中斷的設計NVIC_IRQChannel這個參數(shù)就是讓我們選擇需要配置的中斷向量的值,如下表所示5.5.2STM32中斷的設計5.5.2STM32中斷的設計NVIC_IRQChannelPreemptionPriority該參數(shù)設置了成員NVIC_IRQChannel中的搶占優(yōu)先級的優(yōu)先級別。NVIC_IRQChannelSubPriority該參數(shù)設置了成員NVIC_IRQChannel中的響應優(yōu)先級的優(yōu)先級別5.5.2STM32中斷的設計第0組:先占優(yōu)先級(搶占優(yōu)先級)占0位,從優(yōu)先級(響應優(yōu)先級)占4位,所以說NVIC_IRQChannelPreemptionPriority這個參數(shù)的值只能設置為0,NVIC_IRQChannelSubPriority這個參數(shù)值可以設置為0-15;第1組:先占優(yōu)先級(搶占優(yōu)先級)占1位,從優(yōu)先級(響應優(yōu)先級)占3位,所以說NVIC_IRQChannelPreemptionPriority這個參數(shù)的值可以設置為0-1,NVIC_IRQChannelSubPriority這個參數(shù)的值可以設置為0-7;第2組:先占優(yōu)先級(搶占優(yōu)先級)占2位,從優(yōu)先級(響應優(yōu)先級)占2位,所以說NVIC_IRQChannelPreemptionPriority這個參數(shù)的值可以設置為0-3,NVIC_IRQChannelSubPriority這個參數(shù)的值可以設置為0-3;第3組:先占優(yōu)先級(搶占優(yōu)先級)占3位,從優(yōu)先級(響應優(yōu)先級)占1位,所以說NVIC_IRQChannelPreemptionPriority值可以設置為0-7,NVIC_IRQChannelSubPriority值可以設置為0-1;第4組:先占優(yōu)先級(搶占優(yōu)先級)占4位,從優(yōu)先級(響應優(yōu)先級)占0位,所以說NVIC_IRQChannelPreemptionPriority這個參數(shù)的值可以設置為0-15,NVIC_IRQChannelSubPriority這個參數(shù)的值只能設置為0;5.5.2STM32中斷的設計NVIC_IRQChannelCmd該參數(shù)用來使能或者關(guān)閉指定的IRQ通道。下面例子給出如何用庫函數(shù)配置STM32F103系列單片機的外部中斷:程序代碼的第14行定義了一個“NVIC_InitTypeDef”結(jié)構(gòu)體類型的變量。第17行:設置NVIC中斷分組2,2位搶占優(yōu)先級,2位響應優(yōu)先級;第18行:設置外部I0口的第5-9引腳為中斷通道;第19行:搶占優(yōu)先級為2;第20行:響應優(yōu)先級為2;第21行:使能外部中斷通道;第22行:根據(jù)NVIC_InitStructure結(jié)構(gòu)體中指定的參數(shù)初始化外設NVIC寄存器;5.5.2STM32中斷的設計2.中斷端口配置(1)首先要對引腳進行配置,使能引腳,具體方法參考第4章,如果使用了復用功能需要打開復用時鐘。(2)然后對外部中斷方式進行配置,包括中斷線路設置、中斷或事件選擇、觸發(fā)方式設置、使能中斷線完成設置。其中中斷線路EXTI_Line0~EXTI_Line15分別對應EXTI0~EXTI15,即每個端口的16個引腳。EXTI_Line16~EXTI_Line18分別對應PVD輸出事件、RTC鬧鐘事件和USB喚醒事件。5.5.3STM32外部中斷應用實例通過按鍵中斷實現(xiàn)LED的亮滅控制,利用STM32F10x的GPIO功能驅(qū)動LED。采用PA8連接LED,PB6接按鍵開關(guān)。

STM32外部中斷STM32單片機80個通用I/O端口連接到19個外部中斷/事件源上。左圖為STM32單片機通用I/O與外部中斷的映射關(guān)系:PAx、PBx、PCx、PDx和PEx端口對應的是同一個外部中斷/事件源EXTIx(x:0-15)。5.5.3STM32外部中斷應用實例這個庫函數(shù)的功能就是選擇哪個IO引腳作為外部中斷線路,它有2個輸入?yún)?shù),第一個輸入?yún)?shù)GPIO_PortSource,作用是選擇哪一組GPIO端口作為外部中斷源,它的值可取下表中的任意一個值:

5.5.3STM32外部中斷應用實例輸入?yún)?shù)GPIO_PinSource:這個參數(shù)可以選擇GPIO端口的某個引腳作為中斷源的輸入。5.5.3STM32外部中斷應用實例intmain(void){

NVIC_Configuration();//NVIC

LED_Config();//GPIO-LED

KEY_Config();//GPIO-KEY

GPIO_ResetBits(GPIOB,GPIO_Pin_8);//低電平,點亮LED

while(1)

{

}}5.5.3STM32外部中斷應用實例voidNVIC_Configuration(void){

NVIC_InitTypeDefNVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);}5.5.3STM32外部中斷應用實例voidLED_Config(void){

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_Init(GPIOA,&GPIO_InitStructure);}5.5.3STM32外部中斷應用實例voidKEY_Config(void){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;RCC_APB2PeriphClockCmd(

RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,

ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOB,&GPIO_InitStructure);5.5.3STM32外部中斷應用實例GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource6);EXTI_InitStructure.EXTI_Line=EXTI_Line6;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);}5.5.3STM32外部中斷應用實例voidKEY_Config(void)中定義了一個“EXTI_InitStructure”,這個結(jié)構(gòu)體類型在庫文件中如下定義:Typedefstruct{uint32_tEXTI_Line;EXTIMode_TypeDefEXTI_Mode;EXTITrigger_TypeDefEXTI_Trigger;FunctionalStateEXTI_LineCmd;}EXTI_InitTypeDef5.5.3STM32外部中斷應用實例1:uint32_tEXTI_Line這個參數(shù)就是讓我們選擇哪條外部的中斷線,該參數(shù)可取的值5.5.3STM32外部中斷應用實例EXTI_Mode該參數(shù)讓我們設置中斷線路的模式,是事件請求還是中斷請求,該參數(shù)可取的值:STM32單片機的中斷與事件有何區(qū)別?5.5.3STM32外部中斷應用實例5.5.3STM32外部中斷應用實例中斷是需要CPU參與的,需要軟件的中斷服務函數(shù)才能完成,中斷后產(chǎn)生相應的結(jié)果;事件是靠脈沖發(fā)生器產(chǎn)生一個脈沖,進而由硬件自動完成這個事件,并且產(chǎn)生相應的結(jié)果??梢赃@樣簡單的認為,事件機制提供了一個完全有硬件自動完成觸發(fā)到產(chǎn)生結(jié)果的這么一個通道,不需要軟件的參與,降低了CPU的負荷,節(jié)省了中斷資源,提高了響應速度(硬件總快于軟件),事件是利用硬件來提升CPU芯片處理事件能力的一個有效方法。5.5.3STM32外部中斷應用實例EXTI_Trigger設置了線路的觸發(fā)邊沿(3種觸發(fā)方式:上升沿觸發(fā),下降沿觸發(fā)和上升沿和下降沿觸發(fā))EXTI_LineCmd用來開啟或者關(guān)閉選中線路。它可以被設為ENABLE或者DISABLE。5.5.3STM32外部中斷應用實例voidKEY_Config(void){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;RCC_APB2PeriphClockCmd(

RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,

ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GP

溫馨提示

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

評論

0/150

提交評論