C課程設(shè)計 串口調(diào)試助手_第1頁
C課程設(shè)計 串口調(diào)試助手_第2頁
C課程設(shè)計 串口調(diào)試助手_第3頁
C課程設(shè)計 串口調(diào)試助手_第4頁
C課程設(shè)計 串口調(diào)試助手_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄【內(nèi)容摘要】2【關(guān)鍵詞】21 開發(fā)語言及開發(fā)平臺簡介31.1 開發(fā)語言31.1.1 C語言31.1.2 C+語言31.2 開發(fā)平臺41.2.1 Microsoft Visual C+41.2.2 C+ Builder42 軟件開發(fā)過程52.1 開發(fā)所需要的控件52.1.1 按鈕控件52.1.2 文本控件52.1.3 串口控件52.1.4 選擇控件62.2 數(shù)據(jù)發(fā)送設(shè)計62.3 數(shù)據(jù)接收設(shè)計83 軟件使用說明94 軟件測試104.1 輔助工具104.2 發(fā)送測試104.3 接收測試105 總結(jié)11致謝12參考文獻13附錄 主要程序14串口發(fā)送程序14串口接收程序15【Abstract】17

2、【Key Words】17串口調(diào)試助手設(shè)計專業(yè):電子科學(xué)與技術(shù) 學(xué)號:XXXXXXXXXXX學(xué)生姓名:X X X 指導(dǎo)老師姓名:X X X【內(nèi)容摘要】串口調(diào)試助手是串口調(diào)試相關(guān)工具,網(wǎng)絡(luò)上有很多串口調(diào)試助手,界面不同,功能各異,使用的開發(fā)語言和開發(fā)平臺也不相同。有的使用C語言開發(fā),有的使用C+語言開發(fā),還有的即使用C語言也使用C+語言;開發(fā)平臺有的使用Visual C+,有的使用C+ Builder等。本軟件使用C語言和C+語言,開發(fā)平臺使用C+Builder軟件。該串口調(diào)試助手串口調(diào)試助手版支持常用的110 256000bps波特率,能設(shè)置校驗、數(shù)據(jù)位和停止位,能以ASCII碼或十六進制接收

3、或發(fā)送數(shù)據(jù)或字符(包括中文),能發(fā)送文本文件(*.txt文本),可以任意設(shè)定自動發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件(*.txt),是做項目開發(fā)調(diào)試串口的好工具。【關(guān)鍵詞】串口;C+;C+ Builder;控件;測試;1 開發(fā)語言及開發(fā)平臺簡介1.1 開發(fā)語言 C語言C語言是一種計算機程序設(shè)計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾實驗室的Dennis M. Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,

4、具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫,具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。1隨著微型計算機的日益普及,出現(xiàn)了許多C語言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn), 使得這些C語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國國家標(biāo)準(zhǔn)研究所(ANSI)為C語言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語言標(biāo)準(zhǔn)。在操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它高級語言,以前有許多大型應(yīng)用軟件都是用C語言編寫的(由于面向?qū)ο缶幊碳夹g(shù)的出現(xiàn),大型軟件轉(zhuǎn)由C+、JAVA、C#再配合C語言開發(fā);C語言在面對大型的軟件開發(fā)

5、時,會顯得有些吃力)。2 C+語言計算機誕生初期,人們要使用計算機必須用機器語言或匯編語言編寫程序。世界上第一種計算機高級語言誕生于1954年,它是FORTRAN語言。先后出現(xiàn)了多種計算機高級語言。其中使用最廣泛、影響最大的當(dāng)推BASIC語言和C語言:BASIC語言是1964年在FORTRAN語言的基礎(chǔ)上簡化而成的, 它是為初學(xué)者設(shè)計的小型高級語言;C語言是1972年由美國貝爾實驗室的D.M.Ritchie研制成功的。它不是為初學(xué)者設(shè)計的,而是為計算機專業(yè)人員設(shè)計的。大多數(shù)系統(tǒng)軟件和許多應(yīng)用軟件都是用C語言編寫的,但是隨著軟件規(guī)模的增大,用C語言編寫程序漸漸顯得有些吃力了。3在C基礎(chǔ)上,198

6、3年又由貝爾實驗室的Bjarne Stroustrup推出了C+。 C+進一步擴充和完善了C語言,成為一種面向 對象的程序設(shè)計語言。C+目前流行的編譯器最新版本是GCC 和Microsoft Visual Studio 2013。C+提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓栴}空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計不同的思維方式和編程方法。因而也增加了整個語言的復(fù)雜性,掌握起來有一定難度。4C+由美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普博士在20世紀(jì)80年代初期發(fā)明并實現(xiàn)(最初這種語言被稱作“C with Classes”,即

7、“帶類的C”)。 C+保留了C語言原有的所有優(yōu)點,增加了面向?qū)ο蟮臋C制。開始,C+是作為C語言的增強版出現(xiàn)的,從給C語言增加類開始,不斷的增加新特性。虛函數(shù)(virtual function)、運算符重載(Operator Overloading)、多重繼承(Multiple Inheritance)、模板(Template)、異常(Exception)、RTTI、命名空間(namespace)逐漸被加入標(biāo)準(zhǔn)。5C+是由C發(fā)展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用于C+。從C+的名字可以看出它是C的超越和集中。C+既可用于面向過程的結(jié)構(gòu)化程序設(shè)計,又可用于面向?qū)ο蟮某绦蛟O(shè)計,

8、是一種功能強大的混合型的程序設(shè)計語言。1.2 開發(fā)平臺 Microsoft Visual C+Microsoft Visual C+是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。它以擁有“語法高亮”,IntelliSense(自動完成功能)以及高級除錯功能而著稱。比如,它允許用戶進行遠程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟

9、動正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)花費的時間,在大型軟件計劃上尤其顯著。6 C+ BuilderC+ Builder是由Borland公司推出的一款可視化集成開發(fā)工具。C+ Builder具有快速的可視化開發(fā)環(huán)境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設(shè)置一下它的外觀,就可以快速地建立應(yīng)用程序界面;C+ Builder內(nèi)置了100多個完全封裝了Windows公用特性且具有完全可擴展性(包括全面支持ActiveX控件)的可重用控件;C+ Builder具有一個專業(yè)C+開發(fā)環(huán)境

10、所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。它實現(xiàn)了可視化的編程環(huán)境和功能強大的編程語言(C+)的完美結(jié)合。72 軟件開發(fā)過程2.1 開發(fā)所需要的控件 按鈕控件按鈕控件為中用的Button,它允許用戶通過單擊來執(zhí)行操作。Button 控件既可以顯示文本,又可以顯示圖像。當(dāng)該按鈕被單擊時,它看起來像是被按下,然后被釋放。該控件經(jīng)常用來進行事件的觸發(fā)使用,當(dāng)在程序界面中拖出一個該控件,內(nèi)部將會自動生成該控件對應(yīng)的函數(shù),當(dāng)點擊一下該控件時,將會執(zhí)行該控件對應(yīng)的函數(shù),因此在該程序中,數(shù)據(jù)發(fā)送等操作都使用該控件。按鈕控件的如圖2.1所示。圖2.1 按鈕控件 文本

11、控件文本控件為Edit,給文本控件添加字符串的操作為s為字符串?dāng)?shù)據(jù),Edit1->Text=s;讀取字符串?dāng)?shù)據(jù)的操作為s=Edit1->Text,如果想要把讀取到的字符串?dāng)?shù)據(jù)轉(zhuǎn)換為整數(shù)時,必須調(diào)用函數(shù)StrToInt(),例如t為整型變量t=StrToInt(Edit1->Text),如果想要把讀取到的字符串?dāng)?shù)據(jù)轉(zhuǎn)換為十六進制數(shù)時,必須調(diào)用函數(shù)StrToHHex(),例如t為整型變量t=StrToHex(Edit1->Text)。文本控件如圖2.2所示。圖2.2 文本控件 串口控件串口控件的為YbCommDevice1,內(nèi)部已嵌入端口的選擇、波特率的設(shè)定、以及奇偶校驗位

12、、停止位的設(shè)置等串口通訊協(xié)議需要設(shè)置的參數(shù),串口控件設(shè)置如圖2.3所示。圖2.3 串口控件設(shè)置界面 選擇控件選擇控件CheckBox,就是我們一般所說的選擇框,通常用于某選項的打開或關(guān)閉。大多數(shù)應(yīng)用程序的“設(shè)置”對話框內(nèi)均有此控件。我們看到的可以打勾的就是CheckBox。該控件表明一個特定的狀態(tài)(即選項)是選定 (on,值為true) 還是清除 (off,值為false)。在應(yīng)用程序中使用該控件為用戶提供True/False”或“yes/no”的選擇。進行選項組合。在程序中通過對此控件屬性的Checked來進行判斷是否是true或者false,然后在對程序進行數(shù)據(jù)處理。選擇控件如圖2.4所示

13、。圖2.4 選擇控件2.2 數(shù)據(jù)發(fā)送設(shè)計該軟件的數(shù)據(jù)發(fā)送可以實現(xiàn)自動發(fā)送和手動發(fā)送,手動發(fā)送通過按鍵按鈕來實現(xiàn),自動發(fā)送通過定時器控件實現(xiàn)。發(fā)送時主要的是實現(xiàn)對字符數(shù)據(jù)或者對十六進制數(shù)據(jù)進行處理成單字節(jié)給串口緩沖區(qū)發(fā)送出去,此時首先提取控件Memo1填入的數(shù)據(jù),然后進行要判斷是否要按十六進制數(shù)或者是字符數(shù)發(fā)送數(shù)據(jù),處理數(shù)據(jù)之后在發(fā)送出去。本助手還可以發(fā)送*.txt文件,其發(fā)送原理是先把*.txt文件的內(nèi)容提取出來放入Memo1中,然后進行要判斷是否要按十六進制數(shù)或者是字符數(shù)發(fā)送數(shù)據(jù),處理數(shù)據(jù)之后在發(fā)送出去。數(shù)據(jù)發(fā)送的流程圖如圖2.5所示。圖2.5 數(shù)據(jù)發(fā)送的程序流程圖發(fā)送數(shù)據(jù)界面如圖2.6所示

14、。圖2.6 發(fā)送數(shù)據(jù)界面2.3 數(shù)據(jù)接收設(shè)計該軟件實現(xiàn)數(shù)據(jù)的接收采用的方式是用定時器間隔的檢查串口接收緩沖區(qū),如果檢查到串口接收緩沖區(qū)數(shù)據(jù)接收標(biāo)志位為1,就開始接收數(shù)據(jù),否則標(biāo)志位為0,將不接收任何數(shù)據(jù)。當(dāng)檢查到有數(shù)據(jù)接收時,首先讀取接收到數(shù)據(jù)的長度,然后判斷數(shù)據(jù)時按十六進制顯示在接收區(qū)還是按字符數(shù)據(jù)顯示在接收區(qū),再對數(shù)據(jù)進行十六進制處理或者字符處理。如果要求清空接收區(qū),點擊清空按鈕講調(diào)用Memo1->Clear()對接收區(qū)進行清空。還可以對接收的數(shù)據(jù)進行保存為*.txt文件,默認名字為wqy.txt,默認路徑為D盤。接收數(shù)據(jù)程的序流程圖如圖2.7所示。圖2.7 數(shù)據(jù)接收的程序流程圖接收

15、數(shù)據(jù)界面如圖2.8所示。圖2.8 數(shù)據(jù)接收界面3 軟件使用說明整個使用說明分成四部分來介紹:(1)串口設(shè)置本;(2)通訊狀態(tài);(3)發(fā)送;(4)接收。整個軟件打開后界面如圖3.1所示。圖3.1 整個軟件界面(1)串口設(shè)置先點擊串口設(shè)置,會彈出串口設(shè)置界面,設(shè)置好端口、波特率、奇偶校驗、數(shù)據(jù)位、停止位,然后點擊打開串口就可以了。(2)通訊狀態(tài)通訊狀態(tài)主要是看串口的狀態(tài),發(fā)送的字節(jié)數(shù),接收的字節(jié)數(shù),還可以清除計數(shù)。(3)發(fā)送發(fā)送可以分為手動發(fā)送和自動發(fā)送,兩種發(fā)送都可以選擇是字符發(fā)送還是選擇十六進制發(fā)送,先在數(shù)據(jù)發(fā)送區(qū)域輸入要發(fā)送的數(shù)據(jù),如果選擇自動發(fā)送在自動發(fā)送的控件上打鉤就可以了,還可以選擇自

16、動發(fā)送的周期,默認周期是1000ms,手動發(fā)送點擊手動發(fā)送按鈕就可以發(fā)送了。還可以發(fā)送*txt的文件,點擊選擇發(fā)送文件按鈕,選好要發(fā)送的*txt文件,然后點擊發(fā)送文件按鈕。(4)接收接收界面比較簡單,選擇顯示方式就可以了,可以選擇字符顯示和十六進制顯示,還可以清空接收區(qū),也可以保存顯示的數(shù)據(jù),默認保存在D盤,文件名為wqy.txt。4 軟件測試軟件測試(英語:software testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進行評估的過程。一個軟件做好后,必

17、須要進行軟件測試。主要是測試內(nèi)容為:81)確定軟件生存周期中的一個給定階段的產(chǎn)品是否達到前階段確立的需求的過程。2)程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計規(guī)約規(guī)定的過程。3)評市、審查、測試、檢查、審計等各類活動,或?qū)δ承╉椞幚怼⒎?wù)或文件等是否和規(guī)定的需求相一致進行判斷和提出報告。94.1 輔助工具要進行串口調(diào)試助手軟件的測試,必須要有輔助的工具,測試該軟件的輔助工具使用了STC89C52單片機,通過USB轉(zhuǎn)串口線與電腦連接,寫好單片機程序,其功能是單片機接收到上位機電腦串口發(fā)來的數(shù)據(jù),然后發(fā)回給上位機,通過串口調(diào)試助手顯示出來。4.2 發(fā)送測試在發(fā)送數(shù)據(jù)的區(qū)域輸入要發(fā)送的數(shù)據(jù)

18、,選擇自動發(fā)送或者手動發(fā)送,選擇字符發(fā)送或者十六進制發(fā)送,還可以發(fā)送*.txt文件,打開要發(fā)送的*.txt文件,然后點擊發(fā)送文件。4.3 接收測試在接受區(qū)看從單片機發(fā)送來的數(shù)據(jù),可以選擇字符顯示,也可以選擇十六進制顯示,還可以保存顯示的數(shù)據(jù),默認保存在D盤,文件名為wqy.txt。測試結(jié)果如圖4.1所示。圖3.1 測試時整個軟件界面5 總結(jié)學(xué)習(xí)的目的在于應(yīng)用,我們學(xué)習(xí)C+也是這樣,而且更看重應(yīng)用,將來去企業(yè),更是要自己動手,做出一點東西來才有用。這次課程設(shè)計使我學(xué)了很多,是學(xué)完C+之后將自己所學(xué)理論與實際相結(jié)合的機會,通過這次基于C+語言的的串口調(diào)試助手的設(shè)計,我自己的理論與實踐相結(jié)合的能力有

19、了大幅度的提升。在學(xué)習(xí)專業(yè)知識的基礎(chǔ)上,同時通過查閱專業(yè)書籍、相關(guān)文獻資來解決實際工程問題,這鍛煉了我的綜合運用各項知識和資源的能力。使我不論是從理論知識還是從實際操縱中都學(xué)到了不少知識,我接觸到更多平時沒有接觸過的C+ Builder的內(nèi)部處理函數(shù)和控件,同時也發(fā)現(xiàn)了自己在這方面的很多不足之處。也使我對C+語言以及C+Builder的使用都有了深入的了解。體會到理論知識對實踐有很大的指導(dǎo)作用,只有在正確理論的指引下才能設(shè)計出合乎實際需要的軟件。本軟件對于工程師調(diào)試串口具有極強的實用性,由于時間關(guān)系,無論是功能還是界面,都還存在很多不足的地方,還需要在功能方面和可靠性方面進一步改進。致謝在二十

20、多天課程設(shè)計設(shè)計和論文撰寫過程中,我非常感謝我的指導(dǎo)教師老師。無論是在準(zhǔn)備期間和系統(tǒng)調(diào)試階段,閉金杰都給了我很大的幫助,衷心地謝謝他。同時也感謝同班同學(xué)的幫助和大力支持,在課程設(shè)計的這段時間中,兄弟們給了我很大幫助,當(dāng)我遇到不懂的地方時,他們都會幫我解決,謝謝他們!記得有次調(diào)試程序時自己進入了死胡同,總是解決不了,自己無論怎樣也找不到錯誤,最后黃永忠同學(xué)幫我看了很久才解決。還有班上很多好朋友,在設(shè)計過程中都給了我很大幫助,在此就不一一列出。在此,再次感謝所有的人,感謝他們!參考文獻1 譚浩強.C語言程序設(shè)計(第二版).北京:清華大學(xué)出版社,2009年2 譚浩強.C+面向?qū)ο蟪绦蛟O(shè)計.北京:清華

21、大學(xué)出版社,2009 年3 趙景波.C+Builder 6.0基礎(chǔ)教程.北京:機械工業(yè)出版社,2004年4 陸衛(wèi)忠,劉文亮.C+Builder 6程序設(shè)計教程(第二版).北京:科學(xué)出版社,2011年5 蒙祖強.C+Builder程序員成長攻略. 北京:水利水電出版社,2007年6 郭文夷,戴芳勝.C+Builder 6.0程序設(shè)計.西安:西安電子科技大學(xué)出版社,2004年附錄 主要程序串口發(fā)送程序void _fastcall TForm1:Timer1Timer(TObject *Sender) /定時器1 Label7->Caption=re_time("yyyy'

22、年'mm'月'dd'日' hh' 時'nn' 分'ss' 秒'"); /讀取時間 if(CheckBox4->Checked=true) /判斷是否自動發(fā)送 if(Edit2->Text.Length()>0) /判斷時間 time1_ms=StrToInt(Edit2->Text); /字符串轉(zhuǎn)換為十進制 else time1_ms=1000; if(time1_ms>0) if(time1_ms!=before_time1) /時間變了就按變了的時間發(fā)送 befo

23、re_time1=time1_ms; Timer1->Interval=time1_ms; /改變自動發(fā)送的時間 else time1_ms=1000; before_time1=1000; Timer1->Interval=1000; if(this->YbCommDevice1->Active=false) /*1*/ if(oc_flag=0) oc_flag=1; ShowMessage("請進行串口設(shè)置,并打開串口"); else oc_flag=0; char *ch; int nBytes=0; char Buffer1000, *En

24、dPtr; AnsiString t, s,sk; s=Memo2->Lines->GetText(); /提取發(fā)送區(qū)的字符 if(CheckBox3->Checked=true) /判斷是否十六進制發(fā)送 while(s.Length()>0) int p=s.Pos(' '); /05 05 06 提取空格 if(p>0) t=s.SubString(1,p-1); /提取空格前的字符 s=s.SubString(p+1,s.Length().Trim();/提取空格后的字符-Length為測字符串長度 Trim是去掉前后空格 BuffernBy

25、tes+=strtol(t.c_str(), &EndPtr, 16) ; /轉(zhuǎn)換為十六進制放入緩沖區(qū) else t=s; s="" BuffernBytes+=strtol(t.c_str(), &EndPtr, 16); /轉(zhuǎn)換為十六進制 else int len=0,ci; len=s.Length(); if(len>0) ch=s.c_str(); for(ci=0;ci<len;ci+) BuffernBytes+=*(ch+ci); tx_cout+=nBytes; Edit9->Text=IntToStr(tx_cout);

26、 YbCommDevice1->Write(Buffer, nBytes); 串口接收程序void _fastcall TForm1:Timer2Timer(TObject *Sender) /定時器2 unsigned char Buf8192; if(first_flag=0) /第一次打開時要清空一次發(fā)送區(qū) Memo2->Clear(); first_flag=1; if(this->YbCommDevice1->Active=true) Shape1->Brush->Color=clLime; /串口燈亮 Edit11->Text="

27、打開" int n=YbCommDevice1->Read(Buf,8192); /收到n個字節(jié) if(n) AnsiString s; if(CheckBox2->Checked=true) / CheckBox2判斷接收是否十六進制顯示 for(int i=0; i<n; i+) s+=IntToHex(Bufi,2)+" " /轉(zhuǎn)換為十六進制 else for(int i=0; i<n; i+) s+=char(Bufi);/In)tToStr(String( Bufi); if(!s.IsEmpty() Memo1->Lines->Add(s); /顯示接收的內(nèi)容 rx_cout+=n; /接收計數(shù) Edit10->Text=IntToStr(rx_cout); /顯示接收的字節(jié) Serial Debugging Assistant DesignAuthor:Qiuyuan Wu【Abstract】Serial debugging assistant is a serial port debug to

溫馨提示

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

評論

0/150

提交評論