CAN總線的使用_第1頁(yè)
CAN總線的使用_第2頁(yè)
CAN總線的使用_第3頁(yè)
CAN總線的使用_第4頁(yè)
CAN總線的使用_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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、CAN總線的使用1、硬件連接方式硬件電路如下圖所示:CL4訶VCC231VDD1CANTX4:LHGC3 O.luFT260CANR 3GM1 G1ID1C2 47rFGND2GHD:1IN .iouiGNDCANHVCCCAMLEXLTU1DS0圖中,D1 (IL712)是磁隔離器件,其作用為了使各下井儀之間實(shí)現(xiàn)電氣隔 離。各下井儀需要為D1提供兩組+ 5V電源,圖中標(biāo)為VCC1和VCC2。其中, VCC1為儀器內(nèi)部數(shù)字電源,提供給單片機(jī) C8051F041和其它數(shù)字電路;VCC2 是隔離電源,用于給IL712和TJA1050供電,電源電流應(yīng)大于75mA。C1、C2為兩組電源的濾波電容。D1

2、的2腳與C8051F041 (圖中未畫(huà))的7 腳(CANTX )直接連接,D1的3腳與C8051F041的6腳(CANRX )直接連接。D2 (TJA1050)為CAN總線收發(fā)器,該器件應(yīng)用 VCC2供電。C3為該器件 的濾波電容。D2的輸出CANH (6腳)、CANL ( 7腳)直接連接到下井儀的總 線上。R1、R2、C4為CAN總線終端匹配電阻的接法,這三個(gè)器件只需要在處在 下井儀串上下兩端的儀器中需要。即:在某儀器中,如果 CAN總線是貫通線, 則不能連接這三個(gè)器件,反之,如果在該儀器中,如果 CAN總線不是貫通線, 則需要連接這三個(gè)器件。輸出的CANH和CANL應(yīng)雙絞。2、軟件使用方法

3、編程者應(yīng)該熟悉以下兩本資料:C8051F040/1/2/3/4/5/6/7混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè)BoschC_CAN UsersMa nual在下井儀中建議采用 C8051F041或C8051F040單片機(jī),該單片機(jī)內(nèi)部集成 了 Bosch CAN控制器。以下簡(jiǎn)要介紹C8051F04x單片機(jī)和Bosch CAN控制器及 其軟件編程方法。2.1 C8041F04X單片機(jī)SFR的分頁(yè)機(jī)制C8051F04x系列MCU對(duì)CIP-51內(nèi)核和外設(shè)有幾項(xiàng)關(guān)鍵性的改進(jìn), 提高了 整體性能。其中與編程密切相關(guān)的一點(diǎn)是使用了 SFR(特殊功能寄存器)分頁(yè)機(jī) 制,允許器件將很多SFR映射到0X8

4、00XFF這個(gè)存儲(chǔ)器空間。C8051F04x器件使用了 5個(gè)SFR頁(yè):0、1、2、3和F。使用特殊功能寄存 器頁(yè)選擇寄存器SFRPAGE來(lái)選擇SFR頁(yè)。因此,讀、寫(xiě)一個(gè) SFR的步驟為:1. 用SFRPAGE寄存器選擇相應(yīng)的 SFR頁(yè)號(hào)。2. 用直接尋址方式讀、寫(xiě)特殊功能寄存器。(與以前的用法相同)。使用CAN控制器時(shí),需要將 SFRPAGE設(shè)置為1 (用指令mov sfrpage,#1)。 編程中用到的其它特殊功能寄存器可參看數(shù)據(jù)手冊(cè)說(shuō)明。2.2 C8041F04X單片機(jī)中CAN相關(guān)特殊功能寄存器參看數(shù)據(jù)手冊(cè)第201203頁(yè)。2.2.1 CAN控制器寄存器的訪問(wèn)方式可以直接通過(guò)訪問(wèn)一般SFR

5、方式訪問(wèn)的寄存器共有6個(gè):CAN0CNCAN控制寄存器CAN0STACAN狀態(tài)寄存器CAN0TSTCAN測(cè)試寄存器CAN0ADR寄存器索引地址CAN0DATH數(shù)據(jù)字高字節(jié)CAN0DATL數(shù)據(jù)字低字節(jié)其它CAN控制器寄存器只能通過(guò) CAN0ADR、CAN0DATH、CAN0DATL 訪問(wèn)。訪問(wèn)方式:先向CAN0ADR中寫(xiě)入待訪問(wèn)CAN控制器寄存器的索引號(hào),然 后通過(guò)CAN0DATH寫(xiě)入或讀出高字節(jié),通過(guò) CAN0DATL寫(xiě)入或讀出低字節(jié)。例如:0X5號(hào)寄存器其中寫(xiě)入0X1234h,可采用以下三條指令:mov can 0adr,#0x5mov can0 dath,#12hmov can0 datl

6、,#34h對(duì)于某些索引地址,在向can 0datl進(jìn)行寫(xiě)入或讀出操作后,can0adr有自動(dòng) 加1功能,因此必須向操作 can0dath,再操作can0dat。CAN0CN、CAN0STA、CAN0TST也有索引地址,也可以通過(guò)地址索引方式 訪問(wèn)。2.2.3 CAN控制器寄存器組成CAN控制器寄存器可分為以下幾類:223.1 CAN控制器協(xié)議相關(guān)寄存器1 CAN控制寄存器(索引地址二0x00)resresresresresresresresTestCCEDARCANIFEIESIEIEInitrrrrrrrrrwrw rwr rw rw rw rwTest= 1測(cè)試模式 Test= 0正常工作

7、模式 一般將Test位置0CCE= 1時(shí)可以控制更改位定時(shí)寄存器一般將CCE位置0DAR禁止自動(dòng)重發(fā)功能使用中將該位置1CANIF CAN中斷標(biāo)志EIE錯(cuò)誤中斷使能SIE 狀態(tài)中斷使能IECAN中斷使能Init初始化時(shí)將該位置1,正常工作時(shí)將該位置02 CAN狀態(tài)寄存器(索引地址二0x01 )resresresresresresresResBOffEWarnEPassRxOKTxOKLECrrrrrrrR rrrrw rwrw該寄存器反映CAN控制器的狀態(tài)。BOff處于離線狀態(tài)(二1)EWarn警告狀態(tài)(二1說(shuō)明錯(cuò)誤計(jì)數(shù)器中至少有一個(gè)達(dá)到錯(cuò)誤警告的極限值)EPass 處于被動(dòng)錯(cuò)誤狀態(tài)RxOK

8、自上次這位被清0后,又成功地收到一條消息TxOK自上次這位被清0后,又成功地發(fā)送一條消息LEC CAN總線上最后一次錯(cuò)誤的類型3 CAN錯(cuò)誤計(jì)數(shù)器(索引地址二0x02 )RPREC6 0TEC7 0rRrRP接收被動(dòng)錯(cuò)誤達(dá)到CAN協(xié)議規(guī)定的被動(dòng)錯(cuò)誤水平(二1)REC6 -0 接收錯(cuò)誤計(jì)數(shù)器,記錄接收錯(cuò)誤的次數(shù)TEC7 -0 發(fā)送錯(cuò)誤計(jì)數(shù)器,記錄發(fā)送錯(cuò)誤的次數(shù)4 CAN位定時(shí)寄存器(索引地址二0x03)resTseg2Tseg1SJWBRPrrwrwrwrw該寄存器的設(shè)置與CAN總線通訊的波特率有關(guān),各下井儀需統(tǒng)一設(shè)定,各 位含義可參看CAN控制器用戶手冊(cè)。5 CAN測(cè)試寄存器(索引地址二0x0

9、4)resresresresresresresResRxTx1Tx0LbackSile ntBasicresresrrrrrrrRrrwrw rw rw rw r r 該寄存器只有在CAN控制寄存器中的Test位二1時(shí)才有效,用于測(cè)試CAN 總線的通訊功能,在正常工作時(shí)不使用。6 CAN位定時(shí)擴(kuò)展寄存器(索引地址二0x06)resresresresresresresresresresresresBRPErrrrrrrrrr rrrw該寄存器的設(shè)置與CAN總線通訊的波特率有關(guān),各下井儀需統(tǒng)一設(shè)定,各 位含義可參看CAN控制器用戶手冊(cè)。223.2消息對(duì)象接口寄存器CAN控制器中有一塊消息RAM,可

10、以存儲(chǔ)32條消息對(duì)象,每條消息對(duì)象 中包含8字節(jié)有用數(shù)據(jù)及其它協(xié)議相關(guān)控制信息。CPU訪問(wèn)消息RAM中任何一 條消息對(duì)象都必須通過(guò)消息對(duì)象接口寄存器完成。CAN控制器中共有兩套消息對(duì)象接口寄存器 IF1和IF2。IF1和IF2除了在 測(cè)試模式下的用法有所不同外,在正常工作時(shí)用法相同??梢詫⒁惶子糜趯?shù)據(jù) 寫(xiě)入消息RAM,另一套用于從消息RAM中讀取數(shù)據(jù)。在此,只介紹IF1寄存器組的用法。1 IF1命令請(qǐng)求寄存器(索引地址二0x08 )1F1 C ommand Request Repiter 1514 13 12 II 109 S 16543210 .xl l & 17x10)Busy1U51T

11、5ITSres1X5reiIC5rc?resIF 2 Coninimd Reqiwti Reeivie:Nfre?res躬resie1VSre?Xumb*i0.-1 kfaddi申殆A. 0x12)resAibC onrroClrljn 護(hù) ndTxKqM NwD;iDam AData BIt- 2(- onmiAndOxJj & Ox 12 re年RRP31祜kAibc Qinhulc iFlmrPndI啟q師VwDfttData 4Data Rirjrrrrr nv rw m rwn、rw iw rwWR/RD讀/寫(xiě)1 寫(xiě):數(shù)據(jù)從IF1送到消息RAM中 0讀:數(shù)據(jù)從消息送到IF1Mask

12、存取Mask位1 傳輸 Identifier Mask + Mdir + MXtd 位0屏蔽位不變化Arb存取仲裁位1 傳輸 Identifier Mask + Dir + Xtd + Msgval 位0仲裁位不變化Control存取控制位1 傳輸控制位到消息 RAM中0控制位不變化ClrIntPnd清除中斷請(qǐng)求位讀操作時(shí) 1 清除消息RAM中的IntPnd位0 不改變IntPnd位在寫(xiě)操作時(shí),此位被忽略TxRqst/NewDat存取傳輸請(qǐng)求位讀操作時(shí)1 清除消息對(duì)象中的 NewDat位0 不改變 NewDat位寫(xiě)操作時(shí)1 將傳輸請(qǐng)求位置10不改變傳輸請(qǐng)求位Data A 存取數(shù)據(jù)字節(jié) 0 31

13、傳輸數(shù)據(jù)字節(jié)0 30 不改變數(shù)據(jù)字節(jié)0 3Data B存取數(shù)據(jù)字節(jié)4 71傳輸數(shù)據(jù)字節(jié)4 70 不改變數(shù)據(jù)字節(jié)473 IF1掩碼1 (索引地址=0x0a)、IF1掩碼2 (索引地址=0x0b)Msk28 Msk01相應(yīng)的位使用接受過(guò)濾0消息對(duì)象的ID號(hào)中對(duì)應(yīng)位不用于接受過(guò)濾MXtd1在接受過(guò)濾中使用擴(kuò)展ID號(hào)0不使用擴(kuò)展ID號(hào)Fl Mask 1 Register15141312 11 10 9B 765432 IQMskl5 0LF1 XLisk 2 Rjduslei (addresses OxLOxreshkZS-1fiIF? Rpiter(address 旳暫 & 5卜)MSK154疋Ma

14、sk 2 RegisterMXrdMDllre?MsklB 160x17 & OxlCrwriw iw m nviw twnv i誦iw mMDir1消息方向位Dir用于接受過(guò)濾中0消息方向位Dir在接受過(guò)濾中不使用4 IF1仲裁1 (索引地址二OxOc )、IF1仲裁2 (索引地址二OxOd )IF1 Arbitration 1faddre歸咋Cm舊矗 側(cè)1引15141312 11 10G 16543210ID5-0111 Arbitration 2 Regiiter (Mdit?沙已、OkJB & OxIA)MsValXri54Lt 2 Aibitraiion 2 Register (rt

15、dilioso 0x4B & 0x4A)Ms 寶alXtdDi1D2S 16rwrar rw itv rw rw rw nv rw nv nv rw nv rw rw rWID28 ID0 消息對(duì)象的ID號(hào) 標(biāo)準(zhǔn)幀只使用ID28 ID18MsgVal1該消息對(duì)象已經(jīng)配置,消息處理器納入處理0消息處理器不考慮該消息對(duì)象Xtd1使用29位ID號(hào)(擴(kuò)展幀)0使用11位ID號(hào)(標(biāo)準(zhǔn)幀)下井儀器中一律采用標(biāo)準(zhǔn)幀Dir1消息對(duì)象方向?yàn)榘l(fā)送,消息對(duì)象作為數(shù)據(jù)幀傳送0消息對(duì)象方向?yàn)榻邮?,收到匹配ID號(hào)的數(shù)據(jù)幀時(shí),存儲(chǔ)在該消息 對(duì)象中4 IF1消息控制(索引地址二0x0e)旺 L Message Control

16、RegiUer (addiesses OxlD & 0x101jL41J12LL 10987654J 2 0NDnrlEgr.-rIntPndIM缶TxIF RtTFRwFnT TR q-TFflBWTIMT)T c? aH2Control ResterlutludlAUik1x11 HxILItintLnJxRqtLaBl*$ie$DLC3-0譏山OxJD & Ox 1C)rurwrw twrwrrrrwNewDat 1消息處理器或CPU向消息對(duì)象中寫(xiě)入了新的數(shù)據(jù)MsgLst 1 CPU丟失了消息In tP nd1該消息對(duì)象是中斷源UMask 1 使用屏蔽(Msk28 Msk0,MXtd,M

17、dir)作為接受過(guò)濾io 9 a:.心忖卞井TxIE 1成功地發(fā)送一條消息TsRqst2-17TRXIE湎甲。成功地接收一條消息12 11 RmtEn竽i遠(yuǎn)程幀使能袴Eob 1單個(gè)的消息對(duì)象或一個(gè)FIFO緩存的最后一個(gè)消息對(duì)象DLC3-0 數(shù)據(jù)長(zhǎng)度0 85 IF1 數(shù)據(jù) A1、A2、B1、B28字節(jié)有效數(shù)據(jù)223.3消息處理器寄存器這些只讀寄存器用于向CPU提供有關(guān)消息對(duì)象的信息消息RAM中可以存儲(chǔ)32條消息對(duì)象,每個(gè)消息對(duì)象都包含了2.2.3.2中說(shuō)明的可與IF1交互的信息位。消息處理器寄存器的所有信息都是 32位,每位分別對(duì)應(yīng)一條消息對(duì)象。1發(fā)送請(qǐng)求1、發(fā)送請(qǐng)求2TtBiiswisiqn

18、Request 1 Rfguter &XL l & OxSO)1514 13 12 It 109 S 76543210TxRqstl# 9riRqslfl 1TraiKiiiis-iiofi Reqtiebt 2sterTxRqst2-kl71說(shuō)明該消息對(duì)象被請(qǐng)求發(fā)送,還沒(méi)有完成發(fā)送2新數(shù)據(jù)1、新數(shù)據(jù)2New Dhca 1 Reeibin1514 B 12 1110 S76543210XenDatLC-?euDatS-iNe1 D(a 2 RtgisieioiD;i?2 25D;i24-170s02)rr1說(shuō)明該消息對(duì)象中寫(xiě)入了新數(shù)據(jù)CPU可以通過(guò)讀取該位,檢查哪個(gè)消息對(duì)象的數(shù)據(jù)部分被更新了3

19、中斷標(biāo)志1、中斷標(biāo)志2titerrupl PeuJiiLir 1(cclosses DxAl Jr UxAO t1514 B 1211 L0 9 S 765 身 3210InrPlll6 9rntPndS JLntemipt Psuduig 2 Register (atklress OxAW & flxA2)IntPudJZ-Z?lntPnd24-17rr1指明該消息對(duì)象是一個(gè)中斷源4消息有效1消息有效2伽諂獣 Vfilid 1 RegistPi- 但山血注肌OxBl Ar OxBO)15 14 1312 ll 10986543210Valid RiislfrIr1 該消息已經(jīng)配置好,消息處理

20、器予以考慮3、軟件編程示例軟件編程需要實(shí)現(xiàn)三個(gè)功能:1初始化(設(shè)定位定時(shí)寄存器及消息對(duì)象)2發(fā)送消息3讀取接收的消息3.1初始化位定時(shí)寄存器示例movsfrpage,#1;將 Sfrpage指向 can0page頁(yè)movcan0cn,#41h ;init位=1 CCE= 1允許寫(xiě)位定時(shí)寄存器movcan0 adr,#3;地址寄存器指向位定時(shí)寄存器movcan 0dath,#18h;先寫(xiě)咼字節(jié)movcan0 datl,#40h;位定時(shí)寄存器設(shè)為0x18403.2初始化接收消息對(duì)象示例初始化對(duì)象的作用是設(shè)置消息對(duì)象需要實(shí)現(xiàn)的功能,即設(shè)置CAN控制器內(nèi)部的消息RAM中某個(gè)消息對(duì)象的各個(gè)位域值。 設(shè)定

21、該對(duì)象用于發(fā)送還是接收; 設(shè)定該對(duì)象接收或發(fā)送的ID號(hào),如用于接收還需要設(shè)定是否使用接受 過(guò)濾功能;初始化對(duì)象通過(guò)IF1或IF2寄存器組完成設(shè)置,首先確定要設(shè)置的消息對(duì) 象的性質(zhì)。在此,假設(shè)初始化消息RAM(共20個(gè)消息對(duì)象)中的第一個(gè)對(duì)象,作用是 只接受ID二11的數(shù)據(jù)。假設(shè)我們用IF1寄存器組設(shè)置消息對(duì)象。首先確定消息對(duì)象的各個(gè)位域的值:ID = 11轉(zhuǎn)換為2進(jìn)制數(shù)為1011b以下根據(jù)要求確定IF1各個(gè)寄存器的值: IF1 Mask1 (掩碼)的值為OOOOh(因?yàn)槲覀兗s定使用11位ID的標(biāo)準(zhǔn)幀,所以有用的ID位僅為ID28ID18,Mask15- 0為未用位,設(shè)為0) IF1 Mask2

22、的值為仆FCh (含義:MXt4 0表示在接受過(guò)濾中不使用擴(kuò) 展ID號(hào),MDir = 0表示在接受過(guò)濾中不考慮數(shù)據(jù)傳輸方向, 后面為11位1表示 只接受與ID = IF1Arb中設(shè)定ID號(hào)的數(shù)據(jù)幀,最后兩位對(duì)應(yīng)與ID17、ID16因未 使用設(shè)為0) IF1 Arb1 (仲裁)的值為0000h (理由同) IF1 Arb2的值為802Ch (含義:MsgVal= 1表示設(shè)置該消息RAMt效, 如該位=0,相當(dāng)與該消息RAM在使用中;Dir = 0表示設(shè)定為接受消息;后面 為ID號(hào)X 4的二進(jìn)制數(shù),因?yàn)樽畹蛢晌粸镮D17、ID16) IF1消息控制值為1088h (含義:UMasA 1表示設(shè)置消息

23、過(guò)濾功能;Eob 二1表示該消息對(duì)象不屬于一個(gè) FIFO; DLC3-0=8表示發(fā)送8字節(jié)數(shù)據(jù),不影響 接收過(guò)程,接收完成后,自動(dòng)填充接收到的有效字節(jié)數(shù))。 IF1命令掩碼寄存器值為00F0h (含義:WA 1表示從IF1向消息RAM 寫(xiě);Mask= 1表示傳輸ID Mask + Mdir + MXtd到消息對(duì)象中;Arb = 1表示傳輸 ID + Dir + Xtd + Msgval到消息對(duì)象中;Control = 1表示傳輸控制位到消息對(duì)象 中) IF1命令請(qǐng)求寄存器值為0001h(含義傳送IF1寄存器組內(nèi)容到第一個(gè)報(bào) 文對(duì)象中;這個(gè)寄存器必須在設(shè)置完IF1的其它寄存器后再寫(xiě),因?yàn)橐坏┫蜻@

24、個(gè) 寄存器中寫(xiě)入值后,IF1寄存器組與消息RAM就開(kāi)始交換數(shù)據(jù)了。以下是程序代碼:mov sfrpage,#1mov can0 adr,#9mov can 0dath,#00h ;這句可以省略mov can0datl,0f0h ;執(zhí)行完后 can0adr 自動(dòng)加 1mov can0 dath,#0mov can0 datl,#0mov can0 dath,ifxmask2hmov can0 datl,ifxmask2lmov can0 dath,#0mov can0 datl,#0mov can0 dath,1fhmov can0 datl,fchmov can0 dath,00hmov ca

25、n 0datl,00hmov can0 dath,#80hmov can0 datl,#2chmov can0 dath,#10hmov can0 datl,#08hmov can0 adr,#8 mov can 0dath,#00h ;這句可以省略mov can0 datl,#01h3.3讀取消息示例在此,假設(shè)上述設(shè)置中,消息RAM中的第一個(gè)對(duì)象中收到了新的數(shù)據(jù),可通過(guò)以下程序讀取。在此,我們只通過(guò)IF2寄存器組讀取數(shù)據(jù),而不考慮其它位的讀取。將讀取 的8字節(jié)數(shù)據(jù)放在30h37h單元中,有效字節(jié)個(gè)數(shù)放在 38h單元中。movsfrpage,#1movcan 0adr,#21hmovcan 0

26、dath,#00h;這句可省略movcan 0datl,#1fhmovcan 0adr,#20hmovcan 0dath,#00h;這句可省略movcan 0datl,# 01hhere:mov a,ca nO dathjb acc.7,here ;等待傳送完成mov canO adr,#26hmov a,ca nO datlanl a,#Ofhmov 30h,ca nO dathmov 31h,ca nOdatlmov 32h,ca nO dathmov 33h,ca nO datlmov 34h,ca nO dathmov 35h,ca nO datlmov 36h,ca nO dathm

27、ov 37h,ca nO datl3.4初始化發(fā)送消息對(duì)象示例在此,假設(shè)初始化消息RAM(共20個(gè)消息對(duì)象)中的第一個(gè)對(duì)象,作用是 發(fā)送ID二11的數(shù)據(jù)。假設(shè)我們需要發(fā)送8字節(jié)數(shù)據(jù),用IF1寄存器組設(shè)置消息 對(duì)象。首先確定消息對(duì)象的各個(gè)位域的值:ID = 11轉(zhuǎn)換為2進(jìn)制數(shù)為1011b以下根據(jù)要求確定IF1各個(gè)寄存器的值: IF1 Mask1 (掩碼)的值對(duì)于發(fā)送無(wú)作用,可以不設(shè)置 IF1 Mask2的值對(duì)于發(fā)送無(wú)作用,可以不設(shè)置 IF1 Arb1 (仲裁)的值為OOOOh (理由同) IF1 Arb2的值為A02Ch (含義:MsgVal= 1表示設(shè)置該消息RAMt效, 如該位=0,相當(dāng)與該消息RAM在使用中;Dir = 1表示設(shè)定為發(fā)送消息;后面 為ID號(hào)X 4的二進(jìn)制數(shù),因?yàn)樽畹蛢晌粸镮D17、ID16) IF1消息控制值為0088h (含義:Eob = 1表示該消息對(duì)象不屬于一個(gè) FIFO; DLC3-0=8表示發(fā)送8字節(jié)數(shù)據(jù),如果

溫馨提示

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