微機(jī)原理及單片機(jī)應(yīng)用技術(shù)-GPIO_第1頁(yè)
微機(jī)原理及單片機(jī)應(yīng)用技術(shù)-GPIO_第2頁(yè)
微機(jī)原理及單片機(jī)應(yīng)用技術(shù)-GPIO_第3頁(yè)
微機(jī)原理及單片機(jī)應(yīng)用技術(shù)-GPIO_第4頁(yè)
微機(jī)原理及單片機(jī)應(yīng)用技術(shù)-GPIO_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

GPIO8.1GPIO概述8.2利用寄存器直接控制GPIO的應(yīng)用實(shí)例8.3利用庫(kù)函數(shù)控制GPIO的應(yīng)用實(shí)例8.1GPIO概述8.1.1GPIO的概念 1.GPIO是什么 2.STM32引腳分類 3.如何查找GPIO功能

1.GPIO是什么GPIO(generalpurposeintputoutput)是通用輸入輸出端口的簡(jiǎn)稱,可以通過(guò)軟件來(lái)控制其輸入和輸出。STM32芯片的GPIO引腳與外部設(shè)備連接起來(lái),從而實(shí)現(xiàn)與外部通訊、控制以及數(shù)據(jù)采集的功能。2.STM32引腳分類電源管腳晶振管腳復(fù)位管腳下載管腳BOOT管腳GPIO管腳3.如何查找GPIO功能通過(guò)STM32F103ZET6芯片數(shù)據(jù)手冊(cè)即可查找本講主要內(nèi)容8.1.2GPIO的結(jié)構(gòu)框圖

西安文理學(xué)院自動(dòng)化教研室圖中最右端I/O端口就是STM32芯片的引腳,其它部分都在STM32芯片內(nèi)部。上圖中我們將每部分都用紅線圈起來(lái)標(biāo)號(hào)了,按照順序我們逐一講解。1.GPIO基本結(jié)構(gòu)

(1)保護(hù)二極管引腳內(nèi)部加上這兩個(gè)保護(hù)二級(jí)管可以防止引腳外部過(guò)高或過(guò)低的電壓輸入,

當(dāng)引腳電壓高于VDD_FT或VDD時(shí),上方的二極管導(dǎo)通吸收這個(gè)高電壓,當(dāng)引腳電壓低于VSS時(shí),下方的二極管導(dǎo)通,防止不正常電壓引入芯片導(dǎo)致芯片燒毀。(2)上下拉電阻

從圖中可以看到,上拉和下拉電阻上都有一個(gè)開關(guān),通過(guò)配置上下拉電阻開

關(guān),可以控制引腳的默認(rèn)狀態(tài)電平。當(dāng)開啟上拉時(shí)引腳默認(rèn)電壓為高電平,開啟下拉時(shí),引腳默認(rèn)電壓為低電平,這樣就可以消除引腳不定狀態(tài)的影響。當(dāng)然也可以將上拉和下拉的開關(guān)都關(guān)斷,這種狀態(tài)我們稱為浮空模式,一旦配置成這個(gè)模式,引腳的電壓是不確定的,如果用萬(wàn)用表測(cè)量此模式下管腳電壓時(shí)會(huì)發(fā)現(xiàn)只有1點(diǎn)幾伏,而且還不時(shí)改變,所以一般情況下我們都會(huì)給引腳設(shè)置成上拉或者下拉模式,使它有一個(gè)默認(rèn)狀態(tài)。

1.GPIO基本結(jié)構(gòu)

(3)P-MOS和N-MOS管

GPIO引腳經(jīng)過(guò)兩個(gè)保護(hù)二極管后就分成兩路,上面一路是“輸入模式”,

下面一路是“輸出模式”。我們先講輸出模式,線路經(jīng)過(guò)一個(gè)由P-MOS和N-MOS管組成的單元電路,這讓GPIO引腳具有了推挽和開漏兩種輸出模式。

所謂推挽輸出模式,是根據(jù)P-MOS和N-MOS管的工作方式命名的。在該結(jié)構(gòu)單元輸入一個(gè)高電平時(shí),P-MOS管導(dǎo)通,N-MOS管截止,對(duì)外輸出高電平(3.3V)。

在該單元輸入一個(gè)低電平時(shí),P-MOS管截止,N-MOS管導(dǎo)通,對(duì)外輸出低電平(0V)。

如果當(dāng)切換輸入高低電平時(shí),兩個(gè)MOS管將輪流導(dǎo)通,一個(gè)負(fù)責(zé)灌電流(電流輸出到負(fù)載),一個(gè)負(fù)責(zé)拉電流(負(fù)載電流流向芯片),使其負(fù)載能力和開關(guān)速度都比普通的方式有很大的提高。右圖為推挽輸出模式的等效電路。

1.GPIO基本結(jié)構(gòu)

在開漏輸出模式時(shí),不論輸入是高電平還是低電平,P-MOS管總處于關(guān)閉狀態(tài)。當(dāng)給這個(gè)單元電路輸入低電平時(shí),N-MOS管導(dǎo)通,輸出即為低電平。當(dāng)輸入高電平時(shí),N-MOS管截止,這個(gè)時(shí)候引腳狀態(tài)既不是高電平,又不是低電平,我們稱之為高阻態(tài)。如果想讓引腳輸出高電平,那么引腳必須外接一個(gè)上拉電阻,由上拉電阻提供高電平。開漏輸出模式等效電路圖如右圖所示。

在開漏輸出模式中還有一個(gè)特點(diǎn),引腳具有“線與”關(guān)系。就是說(shuō)如果有很多個(gè)開漏輸出模式的引腳接在一起,只要有一個(gè)引腳為低電平,其他所有管腳都為低,即把所有引腳連接在一起的這條總線拉低了。只有當(dāng)所有引腳輸出高阻態(tài)時(shí)這條總線的電平才由上拉電阻的VDD決定。如果VDD連接的是3.3V,那么引腳輸出的就是3.3V,如果VDD連接的是5V,那么引腳輸出的就是5V。因此如果想要讓STM32管腳輸出5V,可以選擇開漏輸出模式,然后在外接上拉電阻的電源VDD選擇5V即可,前提是這個(gè)STM32引腳是容忍5V的。開漏輸出模式一般應(yīng)用在I2C、SMBUS通訊等需要“線與”功能的總線電路中。還可以用在電平不匹配的場(chǎng)合中,就如上面說(shuō)的輸出5V一樣。

1.GPIO基本結(jié)構(gòu)

(4)輸出數(shù)據(jù)寄存器

前面提到的雙MOS管結(jié)構(gòu)電路的輸入信號(hào),是由GPIO“輸出數(shù)據(jù)寄存器

GPIOx_ODR”提供的,因此我們通過(guò)修改輸出數(shù)據(jù)寄存器的值就可以修改GPIO引腳的輸出電平。而“置位/復(fù)位寄存器GPIOx_BSRR”可以通過(guò)修改輸出數(shù)據(jù)寄存器的值從而影響電路的輸出。(5)復(fù)用功能輸出

由于STM32的GPIO引腳具有第二功能,因此當(dāng)使用復(fù)用功能的時(shí)候,也就是通過(guò)其他外設(shè)復(fù)用功能輸出信號(hào)與GPIO數(shù)據(jù)寄存器一起連接到雙MOS管電路的輸入,其中梯形結(jié)構(gòu)是用來(lái)選擇使用復(fù)用功能還是普通IO口功能。例如使用USART串口通訊時(shí),需要用到某個(gè)GPIO引腳作為通訊發(fā)送引腳,這個(gè)時(shí)候就可以把該GPIO引腳配置成USART串口復(fù)用功能,由串口外設(shè)控制該引腳,發(fā)送數(shù)據(jù)。

(6)輸入數(shù)據(jù)寄存器

輸入數(shù)據(jù)寄存器是由IO口經(jīng)過(guò)上下拉電阻、施密特觸發(fā)器引入。當(dāng)信號(hào)經(jīng)

過(guò)觸發(fā)器,模擬信號(hào)將變?yōu)閿?shù)字信號(hào)0或1,然后存儲(chǔ)在輸入數(shù)據(jù)寄存器中,通過(guò)讀取輸入數(shù)據(jù)寄存器GPIOx_IDR就可以知道IO口的電平狀態(tài)。

1.GPIO基本結(jié)構(gòu)

(7)復(fù)用功能輸入

此模式與前面講解的復(fù)用功能輸出類似。在復(fù)用功能輸入模式時(shí),GPIO引

腳的信號(hào)傳輸?shù)絊TM32其他片上外設(shè),由該外設(shè)讀取引腳的狀態(tài)。同樣,如我們使用USART串口通訊時(shí),需要用到某個(gè)GPIO引腳作為通訊接收引腳,這個(gè)時(shí)候就可以把該GPIO引腳配置成USART串口復(fù)用功能,使USART可以通過(guò)該通訊引腳的接收遠(yuǎn)端數(shù)據(jù)。(8)模擬輸入輸出

當(dāng)GPIO引腳用于ADC采集電壓的輸入通道時(shí),用作“模擬輸入”功能,

此時(shí)信號(hào)是不經(jīng)過(guò)施密特觸發(fā)器的,因?yàn)榻?jīng)過(guò)施密特觸發(fā)器后信號(hào)只有0、1兩種狀態(tài),ADC外設(shè)要采集到原始的模擬信號(hào),信號(hào)源輸入必須在施密特觸發(fā)器之前。類似地,當(dāng)GPIO引腳用于DAC作為模擬電壓輸出通道時(shí),此時(shí)作為“模擬輸出”功能,DAC的模擬信號(hào)輸出就不經(jīng)過(guò)雙MOS管結(jié)構(gòu)了,模擬信號(hào)直接通過(guò)管腳輸出。

1、輸入模式(輸入浮空、輸入上拉、輸入下拉

模擬輸入)

2、輸出模式(開漏輸出、開漏復(fù)用功能、推挽式輸出、推挽式復(fù)用功能)

8.1.3GPIO的工作模式輸入浮空模式輸入上拉模式輸入下拉模式模擬輸入模式開漏輸出模式開漏復(fù)用輸出模式推挽輸出模式推挽復(fù)用輸出模式總結(jié):(1)推挽輸出a.可以輸出高低電平,用于連接數(shù)字器件,高電平由VDD決定,低電平由VSS決定。b.推挽結(jié)構(gòu)指兩個(gè)三極管受兩路互補(bǔ)的信號(hào)控制,總是在一個(gè)導(dǎo)通的時(shí)候另外一個(gè)截止,優(yōu)點(diǎn)開關(guān)效率效率高,電流大,驅(qū)動(dòng)能力強(qiáng)。c.輸出高電平時(shí),電流輸出到負(fù)載,叫灌電流,可以理解成推,輸出低電平時(shí),負(fù)載電流流向芯片,叫拉電流,即挽。(2)開漏輸出a.只能輸出低電平,不能輸出高電平。如果要輸出高電平,則需要外接上拉。b.開漏輸出具有“線與”功能,一個(gè)為低,全部為低,多用于I2C和SMBUS總線。8.2利用寄存器直接控制GPIO的應(yīng)用實(shí)例實(shí)例:使用寄存器點(diǎn)亮一個(gè)LED本講主要內(nèi)容 1.LED模塊電路 2.STM32啟動(dòng)文件 3.編寫點(diǎn)亮一個(gè)LED程序

1.LED模塊電路本節(jié)要實(shí)現(xiàn)的功能是點(diǎn)亮DS0發(fā)光二極管,即讓STM32的PB5管腳輸出一個(gè)低電平。

2.STM32啟動(dòng)文件

啟動(dòng)文件里邊是使用匯編語(yǔ)言寫好了基本程序,當(dāng)STM32芯片上電啟動(dòng)的時(shí)候,首先會(huì)執(zhí)行這里的匯編程序,從而建立起C語(yǔ)言的運(yùn)行環(huán)境,所以把這個(gè)文件稱為啟動(dòng)文件。對(duì)于啟動(dòng)文件這部分我們主要總結(jié)它的功能,不詳細(xì)講解里面的代碼,其功能如下:初始化堆棧指針SP;

初始化程序計(jì)數(shù)器指針PC;

設(shè)置堆棧的大小;設(shè)置中斷向量表的入口地址;配置外部SRAM作為數(shù)據(jù)存儲(chǔ)器;調(diào)用SystemInit()函數(shù)配置STM32的系統(tǒng)時(shí)鐘。設(shè)置C庫(kù)的分支入口“__main”(最終用來(lái)調(diào)用main()

函數(shù));實(shí)驗(yàn)程序

下面就開始使用寄存器來(lái)操作STM32使PB5輸出一個(gè)低電平。要操作STM32寄存器,就需要使用C語(yǔ)言對(duì)其封裝,這部分程序都放在stm32f10x.h中。具體代碼如下:#definePERIPH_BASE((unsignedint)0x40000000)#defineAPB2PERIPH_BASE(PERIPH_BASE+0x00010000)#defineGPIOB_BASE(APB2PERIPH_BASE+0x0C00)#defineGPIOB_CRL *(unsignedint*)(GPIOB_BASE+0x00)#defineGPIOB_CRH *(unsignedint*)(GPIOB_BASE+0x04)#defineGPIOB_IDR *(unsignedint*)(GPIOB_BASE+0x08)#defineGPIOB_ODR *(unsignedint*)(GPIOB_BASE+0x0C)#defineGPIOB_BSRR *(unsignedint*)(GPIOB_BASE+0x10)#defineGPIOB_BRR *(unsignedint*)(GPIOB_BASE+0x14)#defineGPIOB_LCKR *(unsignedint*)(GPIOB_BASE+0x18)#defineAHBPERIPH_BASE(PERIPH_BASE+0x20000)#defineRCC_BASE (AHBPERIPH_BASE+0x1000)#defineRCC_APB2ENR *(unsignedint*)(RCC_BASE+0x18)要控制PB5輸出低電平,需知道GPIO這個(gè)外設(shè)它是掛接在哪個(gè)總線上的,

通過(guò)Block2外設(shè)基地址及APB2總線的偏移地址就可以得到APB2外設(shè)的基地址。GPIO就是掛接在APB2總線上的,根據(jù)GPIOB的偏移地址就可以得到GPIOB外設(shè)的基地址,GPIOB外設(shè)內(nèi)部含有很多個(gè)寄存器,比如GPIOB_CRL、GPIOB_CRH端口配置寄存器、GPIOB_BSRR置位復(fù)位寄存器等,通過(guò)他們各自的偏移地址就可以獲取對(duì)應(yīng)的寄存器地址,然后要操作地址里面的內(nèi)容就需要使用到指針,將其強(qiáng)制轉(zhuǎn)換為unsignedint*指針類型,然后在通過(guò)一個(gè)*指針來(lái)操作該地址里面的內(nèi)容。在STM32中凡是使用到外設(shè)功能,都要使能對(duì)應(yīng)的外設(shè)時(shí)鐘,否則即使配置好端口初始化也無(wú)法正常使用。因此還需要知道時(shí)鐘RCC外設(shè)的基地址,通過(guò)《STM32F103ZET6數(shù)據(jù)手冊(cè)》“4Memorymapping”的“存儲(chǔ)器映射”章節(jié)可以知道RCC時(shí)鐘外設(shè)是掛接在AHB總線上,根據(jù)其偏移值可以得到RCC時(shí)鐘外設(shè)的基地址,然后可通過(guò)《STM32F1xx中文參考手冊(cè)》的“6小容量、中容量和大容量產(chǎn)品的復(fù)位和時(shí)鐘控制(RCC)”的“6.3.7APB2外設(shè)時(shí)鐘使能寄存器(RCC_APB2ENR)”可找到對(duì)應(yīng)的端口RCC使能寄存器,只要將GPIOC端口時(shí)鐘使能即可。

使用C語(yǔ)言封裝好寄存器后,就開始編寫main函數(shù),打開main.c文件,程序代碼如下:

#include"stm32f10x.h"

voidSystemInit(void){}

intmain(){RCC_APB2ENR|=1<<3;

GPIOB_CRL&=~(0x0F<<(4*5));

GPIOB_CRL|=(3<<4*5);

GPIOB_BSRR=(1<<(16+5));

while(1)

{}}

(1)包含stm32f10x.h頭文件,在這個(gè)頭文件中我們定義的都是寄存器,

因此如果要在其他文件中使用這些寄存器就需要把這個(gè)頭文件包含進(jìn)來(lái),否則編譯就會(huì)報(bào)錯(cuò)。

(2)SystemInit函數(shù),在前面講解啟動(dòng)文件時(shí)已經(jīng)說(shuō)明,程序運(yùn)行的時(shí)候

先進(jìn)入這個(gè)函數(shù)進(jìn)行STM32的初始化,如果不寫這個(gè)函數(shù)編譯器就會(huì)報(bào)錯(cuò)。這里我們編寫這個(gè)函數(shù),里面并不對(duì)其操作。

(3)開啟GPIOB時(shí)鐘。要使PB5正常工作輸出一個(gè)低電平,必須要打開它的時(shí)鐘。RCC_APB2ENR寄存器是在stm32f10x.h頭文件中定義好的,只要查下《STM32F1xx中文參考手冊(cè)》RCC時(shí)鐘使能寄存器內(nèi)容就可以知道此寄存器的第3位是控制GPIOB外設(shè)的時(shí)鐘使能位,只有該位為1時(shí)才使能,如果為0即關(guān)閉GPIOB時(shí)鐘。所以要讓1左移3位。

(4)配置GPIOB為通用推挽輸出模式。STM32的GPIO模式有很多,可根據(jù)CRx寄存器設(shè)置,CRL對(duì)應(yīng)GPIO的低8位,CRH對(duì)應(yīng)GPIO的高8位。如果不是特殊需求,一般輸出采用推完輸出模式。要讓PB5管腳輸出一個(gè)低電平,故使用推挽輸出模式。只要查下《STM32F1xx中文參考手冊(cè)》GPIO配置寄存器內(nèi)容就可以知道此寄存器內(nèi)每4位控制一個(gè)管腳。

(5)使PB5輸出低電平。GPIOB_BSRR為置位復(fù)位寄存器,只要查下

GPIO置位復(fù)位寄存器內(nèi)容就可以知道,其高16位用于復(fù)位,如果當(dāng)高16位某位為1,表示那一位管腳輸出低電平,為0不影響其輸出電平。如果當(dāng)?shù)?6位的某位為1,表示那一位管腳輸出高電平,為0不影響其輸出電平。所以要讓1左移16+5位。

8.3利用庫(kù)函數(shù)控制GPIO的應(yīng)用實(shí)例實(shí)例:使用庫(kù)函數(shù)點(diǎn)亮一個(gè)LED本講主要內(nèi)容 1.LED模塊硬件電路 2.GPIO庫(kù)函數(shù)介紹 3.GPIO初始化步驟 4.使用庫(kù)函數(shù)編寫點(diǎn)亮LED程序

1.LED模塊硬件電路本節(jié)我們所要實(shí)現(xiàn)的功能是點(diǎn)亮DS0發(fā)光二極管,即讓STM32的PB5管腳輸出一個(gè)低電平。

2.GPIO庫(kù)函數(shù)介紹(1)GPIO外設(shè)的庫(kù)文件: stm32f10x_gpio.c、

stm32f10x_gpio.h(2)GPIO常用庫(kù)函數(shù)<1>初始化函數(shù)voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)功能:初始化一個(gè)或多個(gè)IO口(同一組端口)的工作模式、輸出速度即GPIO的2個(gè)配置寄存器。打開庫(kù)函數(shù)工程模板進(jìn)行講解。初始化范例: GPIO_InitTypeDefGPIO_InitStructure;//定義結(jié)構(gòu)體變量

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//選擇你要設(shè)置的IO口 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//設(shè)置推挽輸出模式 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //設(shè)置傳輸速率 GPIO_Init(GPIOC,&GPIO_InitStructure);/*初始化GPIO*/

可以一次對(duì)多個(gè)管腳進(jìn)行初始化,前提必須是它們的配置模式需一樣。比如:

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;<2>設(shè)置管腳輸出電平函數(shù)voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能:設(shè)置某個(gè)IO口為高電平(可同時(shí)設(shè)置同一端口的多個(gè)IO)。底層是通過(guò)配置BSRR寄存器。voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能:設(shè)置某個(gè)IO口為低電平(可同時(shí)設(shè)置同一端口的多個(gè)IO)。底層是通過(guò)配置BSRR寄存器。voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal);voidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_tPortVal);功能:設(shè)置端口管腳輸出電平。<3>讀取管腳輸入電平函數(shù)uint8_tGPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能:讀取端口中的某個(gè)管腳輸入電平。底層是通過(guò)讀取IDR寄存器。uint16_tGPIO_ReadInputData(GPIO_TypeDef*GPIOx);功能:讀取某組端口的輸入電平。底層是通過(guò)讀取IDR寄存器。<4>讀取管腳輸出電平函數(shù)uint8_tGPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能:讀取端口中的某個(gè)管腳輸出電平。底層是通過(guò)讀取ODR寄存器。uint16_tGPIO_ReadOutputData(GPIO_TypeDef*GPIOx);功能:讀取某組端口的輸出電平。底層是通過(guò)讀取ODR寄存器(3)使能GPIO時(shí)鐘函數(shù)voidRCC_APB2PeriphClockCmd(uint32_tRCC_APB2Periph,FunctionalStateNewState);不同的外設(shè)調(diào)用的時(shí)鐘使能函數(shù)可能不一樣例如使能GPIOC端口時(shí)鐘如下:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);3.GPIO初始化步驟(1)使能對(duì)應(yīng)的GPIO端口時(shí)鐘(2)初始化GPIO4.使用庫(kù)函數(shù)編寫點(diǎn)亮LED程序本章所要實(shí)現(xiàn)的功能是:點(diǎn)亮D1指示燈。程序框架如下:

(1)初始化系統(tǒng)時(shí)鐘,默認(rèn)配置為72MHz;

(2)初始化DS0對(duì)應(yīng)的GPIO相關(guān)參數(shù),并使能GPIOB時(shí)鐘;

(3)點(diǎn)亮DS0。

(1)系統(tǒng)時(shí)鐘初始

溫馨提示

  • 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)論