嵌入式串口通信设计_第1页
嵌入式串口通信设计_第2页
嵌入式串口通信设计_第3页
嵌入式串口通信设计_第4页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南文理学院课程设计报告课程名称:嵌入式系统课程设计专业班级:通信工程 11101 班 学号( 2 位)学生姓名:石春波指导教师:王丽娟完成时间:2014年 6月 5日报告成绩:评阅意见:评阅教师日期湖南文理学院制嵌入式Linux系统的串口通信研究摘 要嵌入式是以应用为中心, 以计算机技术为基础, 软件硬件可剪裁, 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。随着嵌入式系统的发展和大规模应用,为了提升系统的整体性能,必须实现PC 机和嵌入式计算机之间的通信。在实际开发应用中,串口通信是不可缺少的部分。目前嵌入式系统与PC机之间一种非常重要而且普遍应用的通信方式。本文通

2、过基于 2410F 的嵌入式串口通信的实现, 按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法。 通过与计算机串口间的接,实现在 ARM平台上,传输速率 115200bps,接收来自串口 (通过超级终端)的字符并将接收到的字符发送到超级终端, 实现监测。与外部设备通信的基本功能。关键字:嵌入式系统,串口通信, Linux 系统目 录前 言 -4一、串口通信概述-4串口通信的原理 -5串口通信的开发工具 -52410F 硬件平台简介 -5ARM简介-5Linux系统简介-5串口通信的基本任务 -8二、系统分析 -8RS-232C标准8系统硬件结构原理 17三、串

3、口驱动程序设计 -17串口操作需要的头文件 -17打开串口 -17串口设置 -17串口读写 -17关闭串口 -17四、总结 -17参考文献-17附录 -19前 言串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。 这种通信方式使用的数据线少, 在远距离通信中可以节约通信成本,但其传输速度比并行传输低。嵌入式系统的硬件平台构架、实时嵌入式操作系统的移植,为今后嵌入式系统的后继开发提供了一个嵌入式平台。基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案, 从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证。 嵌入式系统硬件平台的设

4、计与调试,着重叙述了硬件平台的整体设计方案, 包括各个设计模块的选型与接口电路的设计。随着世界科技水平的发展,嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。随着嵌入式系统软硬件技术的飞速发展,其应用领域必将更为广阔, 嵌入式系统的研究将会有非常广泛的前景。 本课题既可以使电子专业学生对ARM920T的嵌入式串口通信系统的实际应用有深入的了解,更重要的是培养了我们的软硬件动手能力,是我们所学专业知识、 理论、技能和培养学生独立完成基本科研任务能力的一个综合检验,具有一定的效果和意义。一、串口通信概述所谓串口通信,是指

5、外设和计算机间使用一根数据信号线(另外需要地线) ,数据在一根数据信号线上一位一位进行传输, 每一位数据都占据一个固定的时间长度。串口传输是二进制代码序列在一条信道上以位(元码)为单位,按时间顺序且按位传输的通信方式。串行传输时,发送端按位发送,接收端按位接受,同时还要对所传输的位加以确认,所以收发双方要采取同步措施,否则接受端将不能正确区分出所传输的数据。串口通信不但能实现计算机与嵌入式开发板之间的数据传输,而且还能实现计算机对嵌入式开发板的控制。若采用普通单片机 , 对外部设备的访问就需要利用复杂的汇编语言进行编程或者使用 C 51 自己编写设备的初始化以及读写访问程序 , 这样的过程不仅

6、复杂 , 而且不利于大规模的开发和设计。 ARM与8051 等普通单片机相比 , 具有开发简单、 灵活 , 而且性能稳定、 功能易于扩展等一系列优势 , 因而在汽车电子、手持设备、无线领域和航空航天等嵌入式系统中得到广泛的应用。将 Linux 移植到 ARM嵌入式处理器后 , 可以利用操作系统中提供的系统调用把串口及其他外设当成普通文件进行操作 , 读写方便 , 因此进行相应开发可以提高系统编程效率 , 而且还可以简化调试的复杂程度。串口通信的原理串行端口的本质功能是作为 CPU和串行设备间的编码转换器。 当数从 CPU经过串行端口发送出去时, 字节数据转换为串行的位。 在接收数据时, 串行的

7、位被转换为字节数据。串口是系统资源的一部分 , 应用程序要使用串口进行通信 , 必须在使用之前向操作系统提出申请要求 ( 打开串口 ), 通信完成后必须释放资源 ( 关闭串口)。串口通信的开发工具本次开发采用的硬件平台是ARM920T处理器的 2410F,开发系统平台是 Lin ux系统。2410F 硬件平台简介2410F 是基于三星 ARM9 嵌入式处理器 S3C2410 处理器的一款开发平台,“ F”指基于 2410 的第六代开发套件。 系统运行在 202M 的主 2410F 是基于三星 ARM9 嵌入式处理器 S3C2410 处理器频下发挥出色的性能。可以完成MP3,MPG,VOIP等工

8、作。2410资源丰富适合ARM处理器的初学者学习使用。2410F上面使用的核心模块体积小资源丰富,IO充足还可以应用在二次开发的产品当中。这款设备主要包括核心板与底板两个部分,核心板采用6 层 PCB 设计、底板采用2 层 PCB 板设计,核心器件是基于目前业内主流使用的SAMSUNG ARM9S3C2410处理器,主频202MHz,配套的存储器,网卡等设备;底板主要是各类型的接口。S3C2410 处理器是Samsung公司基于ARM公司的 ARM920T处理器核,采用制造工艺的32 位微控制器。该处理器拥有:独立的16KB 指令Cache和16KB 数据Cache,MMU,支持TFT 的LC

9、D控制器,NAND闪存控制器, 3路UART,4 路DMA,4 路带PWM的Timer,I/O口,RTC,8 路10 位ADC,Touch Screen接口,IIC-BUS接口,IIS-BUS接口,2 个USB主机,1 个USB设备,SD主机和MMC接口,2 路SPI 。 S3C2410 处理器最高可运行在203MHz。它是基于 ARM920T内核的 16/32 位 RISC 处理器 ,主要应用于嵌入式系统中。 S3C2410 拥有强大的数据处理能力, 又有着低成本 , 低功耗等优点 , 在各种手持及移动设备上的应用越来越广泛, 基于其平台的程序功能也越来越复杂。于是 ,在其平台上架构多线程的

10、操作系统已成为越来越多系统设计者的诉求,本文介绍多线程在 S3C2410 上的具体实现过程。ARM简介ARM(Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991 年 ARM公司成立于英国剑桥, 主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权 (IP) 核的微处理器,即通常所说的 ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统、军用系统等各类产品市场, 基于 ARM技术的微处理器应用约占据了 32 位RISC 微处理器 70以上的市场份额, ARM技术正在逐

11、步渗入到我们生活的各个方面。 ARM公司是专门从事基于 RISC 技术芯片设计开发的公司, 作为知识产权供应商, 本身不直接从事芯片生产, 靠转让设计许可,由合作公司生产各具特色的芯片, 世界各大半导体生产商从 ARM公司购买其 ARM微处理器核, 根据各自不同的应用领域, 加入适当的外围电路, 从而形成自己的 ARM微处理器芯片进入市场。 目前全世界有几十家大的半导体公司都使用ARM公司的授权, 因此既使得 ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低, 使产品更容易进入市场并被消费者所接受,更具有竞争力。ARM微处理器一般具有如下特点:( 1)体积小、低功耗、低成

12、本、高性能;(2)支持 Thumb(16 位 )/ARM(32 位) 双指令集,能很好的兼容 8/16 位器件;( 3)大量使用寄存器,指令执行速度更快;( 4)大多数数据操作都在寄存器中完成;( 5)寻址方式灵活简单,执行效率高;( 6)指令长度固定。Linux系统简介Linux 是一类 Unix 计算机操作系统的统称。 Linux 操作系统也是自由软件和开放源代码发展中最著名的例子。 Linux 一般有四个主要部分:内核、 Shell 、文件结构和实用工具。(1)Linux内核内核是系统的心脏, 是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受命令并把命令送给内核去执行

13、。(2)Linux ShellShell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此, Shell 有自己的编程语言用于对命令的编辑, 它允许用户编写由 shell 命令组成的程序。 Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。(3)Linux 文件结构文件结构是文件存放在磁盘等存储设备上的组织方法。 主要体现在对文件和目录的组织上。 目录提供了

14、管理文件的一个方便而有效的途径。 我们能够从一个目录切换到另一个目录, 而且可以设置目录和文件的权限, 设置文件的共享程度。使用 Linux ,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。(4)Linux 实用工具标准的 Linux 系统都有一套叫做实用工具的程序 , 它们是专门的程序, 例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。实用工具可分三类 :编辑器:用于编辑文件。过滤器:用于接收数据并过滤数据。交互程序:允许用户发送信息或接收来自其他用户的信息。串口通信的基本任务(1)实现数据格式化 : 因为来自 CPU的是普通的并行数据 , 所以 , 接口电路应

15、具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下 , 接口自动生成起止式的帧数据格式。在面向字符的同步方式下 , 接口要在待传送的数据块前加上同步字符。(2)进行串 - 并转换 : 串行传送 , 数据是一位一位串行传送的 , 而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时 , 首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串接口电路和的重要任务。(3)控制数据传输速率 : 串行通信接口电路应具有对数据传输速率-波特率进行先择和控制的能力。(4)进行错误检测 : 在发送接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时 , 接口电路检查字

16、符的奇偶校验或其他检验码 , 确定是否发生传送错误。(5)进行 TTL 与 EIA 电平转换 :CPU 和终端均采用 TTL 电平及正逻辑 , 它们与 EIA 采用的电平及负逻辑不兼容 , 需在接口电路中进行转换。二、系统分析串行端口的本质功能是作为CPU和串行设备间的编码转换器, 一般微机内都配有通信适配器 , 使计算机能够与其他具有RS-232C 串口的计算机或设备进行通信。本系统主要目的是实现宿主机与目标机之间的近距离串行通信,采用的宿主机是 IntelCentrino架构的 Red Hat Linux环境 PC机 ,而目标机是 ARM架构的开发板。本系统中目标机开发板的内核采用的是三星

17、的S3C2410 , 该开发板采用核心板加底板的模式 , 核心板接口采用 DIMM200标准连接器 , 工作非常可靠 , 可稳定运行在 203 MHz 的时钟频率下。其外设非常丰富 , 功能强大 , 完全可以满足设计需要。串口线采用常用的RS-232C 型接口模式 , 能实现计算机与开发板间的数据传输与控制。嵌入式串口通信采用EIA RS-232C 标准。RS-232C 标准RS-232C是 1969 年由电子工业协会( EIA)公布的标准。该标准的用途是定义数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(DataCommunication Equio

18、ment )的接口特性。数据终端设备就是连接通信两端设备的连线(如空MODEM)或其他设备。RS-232C标准的构架如图所示。(数据终端设备DTE)(数据通信设备DCE)(数据通信设备DCE)(数据终端设备DTE)RS-232CMOMO通信线路RS-232C计计DEDE算算MM机机(图 RS-232C 标准的构架RS-232C标准的一些主要规范如下。(1) 电气特性RS-232C采用非归零、双极性编码,且使用负逻辑规定的逻辑电平: -15 -5V规定为逻辑“ 1”。 +5+15V规定为逻辑“ 0”。信号电平与TTL电平不兼容,所以需要电平转换电路(通常使用MAX3232转换)。电平转换电路如图

19、所示。TTL 输出MAX3232RS-232C 输出RS-232C 接口电路TTL 输入RS-232C 输入图 RS-232C 的电平转换电路(2) 引脚定义目前广泛的 DB9引脚定义如图所示。信号引脚定义的说明见表。GND59RIDTR 48 CTSTXD 37 RTSRXD 26 DSRDCD 1图 DB9 引脚定义表 DB9 引脚说明9 针串口 DB9针号功能说明缩写1输入,数据载波检测DCD2输入,接收数据RXD3输出,发送数据TXD4输出, DTE准备就绪DTR5信号地GND6输入, MODEM准备就绪DSR7输出,请求发送RTS8输入,允许发送CTS9输入,振铃指示DELL(3)

20、字符(帧)格式RS-232C采用起止式异步通信协议,其特点是一个字符接着一个字符进行传输,并且传输一个字符总是以起始位开始, 以停止位结束, 字符之间没有固定的时间间隔要求。 其传输格式如图所示, 每一个字符的前面都有一位起始位 (低电平,逻辑“ 0”),字符本身有 58 位数据位,接着字符后面是一位校验码(也可以没有校验码),最后是停止位。停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值“ 1”),这样就能保证起始位开始处一定有一个下跳沿,便于接受方识别。校验位停止位(可以起始位数据1 x 1 1 1 1 1 0 1 1 0发数据流方向接送收方方10101111110110

21、111数据单元之间图 串行传输的工作原理示意图从图 中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起止式协议。没有统一的时钟,没有同步字符,依靠起始位和停止位标识每一帧,传输时,数据的地位在前,高位在后。起始位实际上是作为同步信号附加进来的,当它变为低电平时,告诉接受方传输开始,后面接着是数据位; 而停止位则标志一个字符的结束。 这样就为通信双方提供了何时开始收发、 何时结束的标志。 传输开始前, 收发双方把所采用的字符格式(包括字符的数据位长度、 停止位位数、 有无校验位以及是奇校验还是偶校验等)和数据的传输速率进行统一规定。 传输开始后, 接收设备不断地检测线路,看

22、是否有起始位到来。当收到一系列的“ 1”(停止位或空闲位)之后,检测到一个下跳沿(由“ 1”变为“ 0”),说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。 然后去掉停止位, 对数据位进行串并转换, 并且经奇偶校验无误后, 才算正确地接收到一个字符。 一个字符接收完毕,接收设备又继续测试线路,监视“ 0”电平的到来和下一位字符的开始,直到全部数据传输完毕。(4)握手协议RS-232C标准除了规定的字符格式和通信波特率以外,还在数据终端设备DTE和数据通信设备DCE之间定义了一套握手协议。握手协议的过程如图所示。数据终端设备DTE本地 MODEM远程 MODEM远

23、程 DTEDTRDSRRTS呼叫载波信号DCD载波确认CTSTXD图 DTE与 DCE的握手协议过程DTR:数据终端设备 DTE准备就绪。 DTE加电并能正确实现通信时,向DCE发出 DTR信号。DSR:数据通信设备DCE准备就绪。 MODEM加电并能正确执行通信功能时,DTE发出 DSR信号。RTS:请求发送。当 DTE有数据需要向另一远程 DTE传输时, DTE在检测DSR有效时向本地 MODEM发出 RTS信号。本地 MODEM检测到 RTS有效,然后根据目的电话号码向远程 MODEM发出呼叫。远程 MODEM收到该呼叫,发出回答载波信号。本地 MODEM接受到此载波信号,然后向远程 M

24、ODEM发出原载波信号进行确认,同时向 DTE发出数据载波信号 DCD。DCD:数据载波信号检测。 由 MODEM发向数据终端设备 DTE,表示已检测到对方载波信号。CTS:允许发送,当一个 MODEM辨认出对方 MODEM已经准备接收时, 使用 CTS 信号通知自己的 DTE,表示这个通信通路已经做好数据传输的准备,允许 DTE进行数据发送。至此,通信链路建立,可以通信。 RI:振铃指示。如果 MODEM具有自动应答能力, 当对方呼叫传来时, MODEM 向 DTE发出该信号,指示此呼叫。在电话呼叫振铃结束后, MODEM在 DTE已准备好的情况下(即 DTR有效),立即向对方自动应答。(5

25、) 双机互连方式双机可以利用 RS-232C通信接口进行直接互连 (数据终端设备DTE到 DTE),即空 MODEM连接。这种形式在嵌入式系统中应用极为广泛。由于 RS-232C标准中有两对硬件握手协议的引线:DTR和 DSR、 RTS和 CTS,根据应用握手协议的机制不同,可分为 3 种情况:无硬件握手、 DTR和 DSR握手、RTS和 CTS握手。 无硬件握手情况无硬件握手的双机互连如图所示。DTEDTE计TXD计TXD算 RXDRXD 算机GND机GND图 无握手的双机互连无硬件握手的连线最简单,只需要3 根线,应用比较多。但通信不可靠,接收缓冲区容易溢出。 DTR和 DSR握手情况DT

26、R和 DSR握手的双机互连如图所示。DTEDTE计TXD计TXD算RXD算RXD机GND机GND图 DTR和 DSR握手的双机互连采用 DTR和 DSR握手进行发送和接收数据的过程如下(设计算机A 接收,计算机 B 发送):若计算机 A 已经准备就绪,则使DTR有效。计算机B 通过采集 DSR,得知计算机 A 已经做好接收数据的准备,可以发送数据。若计算机A 为准备好,则 DTR无效,计算机 B 通过采集 DSR,得知计算机 A 尚未做好接收数据的准备,停止发送数据。 RTS和 CTS握手情况RTS和 CTS握手的双机互连如图所示。DTEDTE计TXD计TXD算RXD算RXD机GND机GND图

27、 RTS和 CTS握手的双机互连利用 RTS和 CTS握手进行发送和接收数据的过程如下(设计算机A 接收、计算机 B 发送):若计算机 A 已经准备就绪,则使RTS有效。计算机 B 通过采集 CTS,得知计算机 A 已经做好接收数据的准备,可以发送数据。若计算机A 未准备好,则 RTS无效,计算机 B 通过采集 CTS,得知计算机 A 尚未做好接收数据的准备,停止发送数据。系统硬件结构原理在串口通信的实现过程中 , 要保证数据传输的可靠性和稳定性 , 其硬件设计是必不可少的 , 本文中选用 S3C2410 芯片作为核心器件。 S3C2410 芯片是SAMGSUNG公司 16/ 32 位的 RI

28、SC 处理器 , 采用 ARM920 T内核 , 内部具有 2 个独立的 UART控制器以及分开的16 kB 的指令 Cache 和 16 kB 数据 Cache , 每个控制器支持的最高波特率可达到230. 4 kb/ s。S3C2410 芯片的这些特点 , 为实现在 Linux操作系统下计算机与开发板间的串口通信提供了可靠的保证。基于S3C2410 的嵌入式串口通信的硬件结构原理如图所示:宿主机(计算机系统)目标机(开发板 )电JTAG源接口显示器计算机主机设串行接口线DIMM200液晶显示模块S3C2410 ARM键盘备(带连接器接芯片键盘控制模块RS-232外扩存储器模块图 系统硬件结

29、构原理图宿主机即计算机系统中 , 在 Linux 操作系统下编写好串口通信的程序 , 通过网络 ftp 下载至目标机即开发板中 , 在相应的软件控制命令下 , 通过串行接口线即可实现宿主机与目标机间数据的发送和接收。 目标机中电源模块提供了开发板系统工作所需的正常电压, 各种数据信息可以通过液晶显示模块及时显示出来,还可以通过键盘控制模块来实现对目标机操作的控制, 外扩存储器模块可以由FLASH或 SDRAM构成 , 当然作为一个完整的系统, 还必须配有其他外围电路, 以保证系统的正常工作。三、串口驱动程序设计由于嵌入式系统是一个受资源限制的系统, 因此不能直接在嵌入式系统硬件上进行编程。作为

30、一个完整的嵌入式系统, 其软件设计也是一个很重要的方面。本系统软件的实现是通过串口设置和读写串口等操作来完成宿主机与目标机间的串口通信。串口操作需要的头文件在开发嵌入式Linux串口驱动程序时,需要以下头文件。#include /*标准输入输出定义 */#include /*标准函数库定义 */#include /*UNIX标准函数定义 */#include #include #include /*文件控制定义 */#include /*POSIX终端控制定义 */#include /*错误号定义 */打开串口在嵌入式Linux 系统中,打开一个串口设备和打开普通文件一样。嵌入式Linux系统

31、下的串口文件通常位于/dev下:串口一为/dev/ttyS0;串口二为 /dev/ttyS1。打开串口时通过使用标准的文件函数open( )来进行操作的,下面假设以读写方式打开串口一。int fd;andle,&rfds); if(rdtvel) actuaIRead=read(portsportNo.handle,buf,maxCnt);入式系统设计与应用M. 北京:清华大学出版社 , 2008.2ARM Limited. ARM Developer Suiter (Version , Assemble Guide, ARMDUI 0068A, 2000.3 熊茂华、杨震伦主编 . ARM9

32、嵌入式系统设计与开发应用 M. 北京 : 清华大学出版社, 2008.4 刘彦文主编 . 基于 ARMTDMI的S3C44BOX嵌入式微处理器技术 M. 北京:清华大学出版社, 2009.5 徐磊编著 .Linux 系统下 C程序开发详解 M. 北京:电子工业出版社, 2008.6 华清远见嵌入式培训中心编著 . 嵌入式 Linux 系统开发标准教程 ( 第 2 版)M.北京:人民邮电出版社,2009.7 罗苑棠编著 . 嵌入式 Linux 驱动程序和系统开发实例精讲 M. 北京:电子工业出版社, 2009.8 罗蕾主编 . 嵌入式实时操作系统及应用开发 ( 第 2 版 )M. 北京:北京航空

33、航天大学出版社, 2007.9 华清远见嵌入式培训中心编著 . Linux 设备开发详解 ( 第 2 版 )M. 北京:人民邮电出版社, 2010.10 Advanced Programming in the UNIX EnvironmentM Stevens ,2000.附录串口通信程序源代码:/*/#include #include #include #include #include #include #include #include #define MODEMDEVICE /dev/ttyS0#define _POSIX_SOURCE 1#define FALSE 0#define TRUE 1volatile int STOP=FALSE;main()int fd,n=0,c,BAUDRATE,i,BUFNUMBER=32,READNUMBER=32;char receivebufBUFNUMBER;struct termios oldtio,newtio;struct stat st;errno=0;fd=open(MODEMDEVICE,_RDWR|O_NOCTTY/*|O_NDELAY

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论