第1章-STM32基本原理..ppt_第1页
第1章-STM32基本原理..ppt_第2页
第1章-STM32基本原理..ppt_第3页
第1章-STM32基本原理..ppt_第4页
第1章-STM32基本原理..ppt_第5页
免费预览已结束,剩余88页可下载查看

下载本文档

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

文档简介

1、基于STM32的嵌入式系统原理与设计第一章 STM32基本原理,博客: 交流论坛: 开发板和教程: ,要点,STM32性能和结构,CortexM3处理器,输入输出端口GPIO,引脚、电源和时钟树,模数和数模转换,中断,定时器,DMA,灵活的FSMC,同步和异步串行接口,第一章 STM32基本原理,学习STM32需要从原理入手,为硬件、软件、操作系统、工程实践学习打下一个良好的基础。 本章的第一部分是STM32的性能和结构,然后是对Cortex M3处理器的分析,之后是地址映射、引脚功能描述、电源连接、复位和时钟控制RCC、输入输出端口GPIO、ADC和DAC、中断、DMA、定时器、同步串行通信

2、SPI和I2C、同步异步串行通信USART,最后是灵活的存储器控制FSMC。 通过本章的学习,既可以掌握STM32的全貌,也可以学习到重要的关于Cortex M3处理器内核和STM32器件的细节信息,1.1 STM32性能和结构1.1.1总体性能,以高密度的STM32F103VET6为例,能适合一般项目的需要,价格在30元以下,避免由于FLASH和RAM太小造成的瓶颈。 VET6的含义为: V的含义为100pins,即100个管脚。 E表示512KB的FLASH。 T表示LQFP封装。 6 表示-40到85度的温度范围。,STM32F103系列芯片包括从36脚至100脚不同封装形式,STM32

3、系列命名遵循一定的规则:,退出,芯片类型:F通用快闪,L低电压(1.653.6V),W无线系统芯片。,103ARM Cortex-M3内核,增强型;050ARM Cortex-M0内核;101ARM Cortex-M3内核,基本型; 102ARM Cortex-M3内核,USB基本型;105ARM Cortex-M3内核,USB互联网型; 107ARM Cortex-M3内核,USB互联网型、以太网型;215/217ARM Cortex-M3内核,加密模块;405/407ARM Cortex-M4内核,不加密模块等。,引脚数目:R64PIN,F20PIN,G28PIN;K32PIN,T36PI

4、N,H40PIN,C48PIN,U63PIN, O90PIN,V100PIN,Q132PIN,Z144PIN,I176PIN。,B128KB Flash(中容量),416KB Flash(小容量), 632KB Flash(小容量),864KB Flash(中容量),C256KB Flash(大容量),D384KB Flash(大容量),E512KB Flash(大容量),F768KB Flash(大容量),G1MKB Flash(大容量)。,封装信息:TLQFP,HBGA,UVFQFPN,YWLCSP。,工作温度范围:6-4085(工业级), 7-40105(工业级)。,6 KB RAM*,

5、6 KB RAM*,STM32F103 “增强型”系列,Flash Size (bytes),128 K,256 K,512 K,100 pins LQFP/BGA,STM32F103Rx 20 KB RAM,STM32F103Rx 20 KB RAM,STM32F103Cx 20 KB RAM,32 K,64 K,STM32F103Rx 64 KB RAM,STM32F103Vx 20 KB RAM,STM32F103Vx 64 KB RAM,STM32F103Vx 20 KB RAM,STM32F103Vx 64 KB RAM,3xUSART 3x16-bit timer 2xSPI, 2

6、XI2C USB, CAN, PWM 2xADC,64 pins LQFP,48 pinsLQFP,2xUSART 2x16-bit timer 1xSPI, 1xI2C USB, CAN, PWM 2xADC,5xUSART 5x16-bit timer 2xSPI, 2XI2C USB, CAN, PWM 2xADC, 2xDAC, I2S EMI (144 pins only),STM32F103Rx 64 KB RAM,144 pins LQFP/BGA,STM32F103Zx 64 KB RAM,STM32F103Zx 64 KB RAM,STM32R103Zx 64 KB RAM,

7、STM32F103Cx 10 KB RAM,STM32F103Rx 10 KB RAM,* 32kB devices exist w/o the CAN and USB, with 6kB of RAM,0 K,Samples April 07 Production Oct 07,Samples Dec 07 Production Q2 08,STM32 MCU结构 由控制单元、从属单元和总线矩阵三大部分组成,控制单元和从属单元通过总线矩阵相连接 控制单元包括 Cortex-M3内核和两个DMA控制器(DMA1和DMA2) 从属单元包括存储器(Flash和SRAM等)和设备(连接片外设备的接口

8、和片内设备),1.1 STM32性能和结构1.1.2 系统结构分析,STM32 MCU结构 连接片外设备的接口有并行接口和串行接口,并行接口即通用IO接口GPIO,串行接口有USART、SPI、I2C、USB和CAN等 片内设备有定时器TIM、模数转换器ADC和数模转换器DAC等,1.1 STM32性能和结构1.1.2 系统结构分析,总线结构中各单元的功能,STM32 MCU结构 ICode 总线:将 Flash 存储器指令接口与 Cortex-M3 内核的指令总线相连接,用于指 令预取; DCode 总线:将 Flash 存储器的数据接口与 Cortex-M3 内核的 DCode 总线相连接

9、,用于常量加载和调试访问; System 总线:将Cortex-M3 内核的 System 总线(外设总线)连接到总线矩阵;,1.1 STM32性能和结构1.1.2 系统结构分析,STM32 MCU结构 DMA 总线:将DMA 的 AHB 主控接口与总线矩阵相连; 总线矩阵:用于连接三个主动单元部件和三个被动单元,负责协调和仲裁Cortex-M3 内核和 DMA 对 SRAM 的访问,仲裁采用轮换算法 AHB/APB 桥:两个 AHB/APB 桥在 AHB 和 2 个 APB 总线之间提供完全同步连接。,1.1 STM32性能和结构1.1.2 系统结构分析,1.1 STM32性能和结构1.1.

10、2 系统结构分析,1.1 STM32性能和结构1.1.2 系统结构分析,(1)Cortex-M3 CPU所在之处,是司令部是大脑。 (2)总线矩阵 (3)FLASH通过FLASH接口连接CPU。 (4)静态存储器SRAM通过总线矩阵连接CPU。 (5)复位和时钟控制RCC。 (6)低速APB1外设。 (7)低速APB2外设。 (8)可变静态存储控制器FSMC。 (9)DMA通道。,1.1 STM32性能和结构1.1.3 芯片封装和管脚概述,Cortex-M3简介 Cortex-M3是采用哈佛结构的32位处理器内核,拥有独立的指令总线和数据总线,两者共享同一个4GB存储空间 Cortex-M3内

11、建一个嵌套向量中断控制器(NVIC:Nested Vectored Interrupt Controller),支持可嵌套中断、向量中断和动态优先级等 Cortex-M3内部还包含一个系统滴答定时器SysTick,1.2 Cortex M3处理器,1.2 Cortex M3处理器 1.2.1 Cortex-M3的定位和应用,从图1.2.1可见,嵌入式处理器核CortexM3,容量(Capability)和执行功能(Performance Functionality)都居中,但其性价比是当今最好的品种之一,也是现在最流行的品种之一。,1.2 Cortex M3处理器 1.2.2 Cortex-M

12、3处理器结构,1.2 Cortex M3处理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3处理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3处理器 1.2.3 Cortex-M3寄存器,特殊功能寄存器,1.2 Cortex M3处理器 1.2.3 Cortex-M3寄存器,1.2 Cortex M3处理器 1.2.4 堆栈,1.2 Cortex M3处理器 1.2.4 堆栈,1.3 STM32存储地址映射,程序存储器、数据存储器、寄存器和输入输出端口寄存器被组织在同一个4GB的线性地址空间内,1.3 STM32存储地址映射,代码分析,P13代码1-2

13、 到1-6 说明如何访问串口寄存器来实现发送数据到串口,1.3 STM32存储地址映射,1.4 引脚功能描述,引脚功能来源于数据手册,注意复用功能,1.6复位和时钟控制RCC,复位分三种形式,电源复位、系统复位和备份区域复位。,1.6.1 复位,STM32 系统时钟树 系统时钟树由系统时钟源、系统时钟和设备时钟等部分组成 系统时钟源有4个: 高速外部时钟HSE、 低速外部时钟LSE、 高速内部时钟HSI和 低速内部时钟LSI,1.6复位和时钟控制RCC,1.6.2时钟源,1.6复位和时钟控制RCC,时钟树图解了各个设备时钟的来源。 参考P19页图1-11 STM32时钟树。 问题:STM32定

14、时器1是APB2外设,请从晶振开始,分析器定时器1时钟的来源。 那么定时器2呢?,通常,STM32主频在72M,而外时钟选择8M,因此必须通过倍频获得。(锁相环PLL对选择的时钟进行倍频),1.6.2时钟源,1.6复位和时钟控制RCC,STM32 系统时钟树 系统时钟SYSCLK可以是HSE或HSI,也可以是HSE或HSI通过锁相环倍频后的锁相环时钟PLLCLK SYSCLK经AHB预分频器分频后得到AHB总线时钟HCLK,HCLK经APB1/APB2预分频器分频后得到APB1/APB2总线时钟PCLK1和PCLK2,1.6复位和时钟控制RCC,STM32 MCU系统时钟树 系统时钟树中的时钟

15、选择、预分频值和外设时钟使能等都可以通过对复位和时钟控制(RCC)寄存器编程实现,1.6复位和时钟控制RCC,STM32 MCU系统时钟树 Keil的电源,复位和时钟控制对话框,1.6复位和时钟控制RCC,STM32 MCU系统时钟树 APB2设备时钟使能寄存器(RCC_APB2ENR),前页 返回,郭书军 cortex_,1.6复位和时钟控制RCC,STM32 MCU系统时钟树 Keil的APB桥对话框,1.6复位和时钟控制RCC,1.7输入输出端口GPIO 1.7.1常规输入输出GPIO,GPIO包括多个16位I/O端口,每个端口可以独立设置3工作模式,并可独立地置位或复位 GPIO由寄存

16、器、输入驱动器和输出驱动器等部分组成 GPIO是可编程输入/输出端口,1.7输入输出端口GPIO1.7.1常规输入输出GPIO,GPIO通过7个32位寄存器进行操作,1.7输入输出端口GPIO 1.7.1常规输入输出GPIO,GPIO结构及寄存器说明 每个端口的4个配置位是CNF1:0和MODE1:0,注:(1) ODR=1:上拉,ODR=0:下拉,(2) 01/10/11依次对应最大输出频率为10MHz/2MHz/50MHz,1.7输入输出端口GPIO 1.7.1常规输入输出GPIO,GPIO端口的模式模式是输入浮空,为什么这样设计?,1.7输入输出端口GPIO1.7.2 GPIO复用,可以

17、将具有复用功能的引脚的功能进行重新配置,例如配置一些管脚为ADC的管脚,这些管脚就不能再作为GPIO使用。这个过程叫做复用重映射。 8个ADC通过的选择过程P21-22。 问题:根据P21表1-7,如果需要选择一个引脚做ADC输入引脚,可以选择哪个引脚呢?为什么?,ADC简介 模数转换器ADC的主要功能是将模拟信号转化为数字信号以便于微控制器进行数据处理 STM32 ADC是12位逐次比较型,最多可测量21个外部的模拟量,各通道的转换可以单次、连续、扫描或间断模式执。,1.8模数转换器和数模转换器 1.8.1 模-数转换器,ADC结构 STM32 ADC主要由模拟多路开关、模拟至数字转换器、数

18、据寄存器和触发选择等部分组成 转换通道分为规则通道和注入通道两组 规则通道由最多16个通道组成,按顺序转换 注入通道由最多4个通道组成,可插入转换,1.8模数转换器和数模转换器 1.8.1 模-数转换器,1.8模数转换器和数模转换器 1.8.2数-模转换器,1. 数模转换器框图分析 P24 图1-15。 2.参考源。 3.信号发生器功能。,中断简介 接口数据传送控制方式有查询、中断和DMA等,中断是重要的接口数据传送控制方式 STM32中断控制分为全局和局部2级,全局中断由嵌套向量中断控制器NVIC控制,局部中断由设备控制 STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16

19、级可编程的中断优先级。而常用的就是这68个可屏蔽中断: 在STM32F103系列上面,只有60个(在107系列才有68个) 嵌入式实时操作系统的系统服务也是靠中断激发的!,1.9中断,STM32部分中断向量表(异常),1.9中断1.9.1 STM32的中断通道和中断向量处理,STM32部分中断向量表(中断向量存放的执行代码么?),1.9中断1.9.1 STM32的中断通道和中断向量处理,STM32部分中断向量表(续),1.9中断1.9.1 STM32的中断通道和中断向量处理,STM32部分中断向量表(续),1.9中断1.9.1 STM32的中断通道和中断向量处理,1.9中断1.9.1 STM3

20、2的中断通道和中断向量处理,1.STM32中断通道。 表1-8中的中断通道分析 2.启动代码设置中断向量表 代码1-7分析 3.复位中断的处理 代码1-8分析,EXTI中断 每个配置为输入方式的GPIO引脚都可以配置成外部中断的中断输入口,这点也是STM32的强大之处。 STM32F103的中断控制器支持19个外部中断/事件请求。 每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置,触发请求可以是上升沿、下降沿或者双边沿触发。,1.9中断1.9.2 STM32外部中断EXTI,ALIENTEK,中断线的映射关系图,1.9中断1.9.2 STM32外部中断EXTI,EXTI中断 STM3

21、2F103的19个外部中断为: EXTI线015连接到对应外部IO口的输入中断 EXTI线16连接到PVD中断 EXTI线17连接到RTC闹钟中断 EXTI线18连接到USB唤醒中断 EXTI线19连接到以太网唤醒中断(F107系列) 注意:同一时间,对于不同端口同一序列的端口线,只能设置一个为中断!,1.9中断1.9.2 STM32外部中断,问题: 是否可以用PA0和PB0同时作为外部中断? 是否可以用PA0和PB1同时作为外部中断? 为什么?,STM32支持16个中断优先级,使用8位中断优先级设置的高4位,并分为抢占优先级(先占优先级)和非抢占优先级(从优先级或响应优先级),抢占优先级在前

22、,响应优先级在后,具体位数通过应用程序中断及复位控制寄存器AIRCR的优先级分组PRIGROUP位段(AIRCR10:8)设置。,1.9中断1.9.3 STM32中断优先级分组,优 先级越高,数值越低!,1.9中断1.9.3 STM32中断优先级分组,注意: 第一,如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行; 第二,高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。而抢占优先级相同的中断,高优先级的响应优先级不可以打断低响应优先级的中断。,DMA简介 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的批量数据传输。DMA传送过

23、程中无须CPU干预,数据可以通过DMA快速地传送,这就节省了CPU的资源来做其他操作 STM32的两个DMA控制器有12个通道(DMA1有7个通道DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求,还有一个仲裁器来协调各个DMA请求的优先权。,1.10 直接存储器存取DMA,1.10 DMA1.10.1 DMA解析,1.图1-17DMA框图解析 2.从内存到外设或从外设到内存的DMA传输。 3.传输申请和仲裁。,DMA1的通道请求源,1.10 DMA 1.10.2 DMA通道和请求,在使用某一条通道时,应尽可能做到只有一个外设的DMA请求或者时分复用。,P32表1

24、-10和表1-11,DMA仲裁机制,1.10 DMA 1.10.2 DMA通道和请求,仲裁器是用来协调各个 DMA 通道的优先级(这里所说的优先级指的是DMA通道的优先级,而不是来自外设的DMA请求的优先级)。然后,再由仲裁器根据优先级来处理各个通道的。 通道号高,优先级低。 同一DMA模块可通过软件编程设置通道优先权。,P33图1-18,TIM结构和功能说明 STM32定时器: 系统滴答定时器SysTick,常规定时器(高级控制定时器TIM1/8、通用定时器TIM2-5、基本定时器TIM6/7 ) 。 实时钟RTC、独立看门狗IWDG和窗口看门狗WWDG等 高级控制定时器除了具有刹车输入BK

25、IN、互补输出CHxN和重复次数计数器外与通用定时器的主要功能基本相同,两者都包含基本定时器的功能 实时钟提供时钟日历的功能。 独立看门狗和窗口看门狗用来检测和解决软件错误引起的故障,1.11 定时器,高级控制定时器 高级控制定时器主要由时基单元、输入捕获和输出比较等部分组成 时基单元包含16位计数器CNT、16位预分频器PSC、自动重装载寄存器ARR和重复次数计数器RCR 时基单元是定时器的核心,也是基本定时器的主要功能单元,1.11 定时器1.11.1 STM32常规定时器,高级控制定时器 输入捕获包含输入滤波器和边沿检测器、预分频器和捕获/比较寄存器等,可以测量输入信号的周期和脉冲宽度

26、输出比较包含捕获/比较寄存器、死区发生器DTG和输出控制,可以产生PWM等,1.11 定时器1.11.1 STM32常规定时器,计数器模式 向上计数模式:计数器从0计数到设定的数值,然后重新从0开始计数并且产生一个计数器溢出事件。 向下计数模式:计数器从设定的数值开始向下计数到0,然后自动从设定的数值重新向下计数,并产生一个向下溢出事件。 中央对齐模式(向上/向下计数):计数器从0开始计数到设定的数值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器下溢事件;再从0开始重新计数。,1.11 定时器1.11.1 STM32常规定时器,1.11 定时器1.11.1 STM32常规定时

27、器,STM32的常规定时器分为三类,包括 1.高级控制定时器TIM1和TIM8 2.通用定时器TIM2、TIM3、TIM4、TIM5 3.基本定时器TIM6、TIM7 三种定时器功能 P39表1-16,系统滴答定时器说明 Systick就是一个简易的周期定时器,放在了NVIC中,主要目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。 操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个系统不放。或者把每个定时器周期的某个时间范围赐

28、予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。,1.11 定时器1.11.2 系统滴答定时器SysTick,系统滴答定时器寄存器 四个寄存器: SysTick-CTRL, -控制和状态寄存器 SysTick-LOAD, -重装载寄存器 SysTick-VAL, -当前值寄存器 SysTick-CALIB, -校准值寄存器,1.11 定时器1.11.2 系统滴答定时器SysTick,1.1

29、1 定时器1.11.2 系统滴答定时器SysTick,1.SysTic定时器的位置和功能 2. SysTic定时器的4个寄存器 表1-12 表1-15 3. SysTic定时器编程(寄存器级别)。 P36代码1-10. 4. SysTic定时器编程(库函数级别)。 P36代码1-11. 库函数实现原理 P36代码1-12,SPI结构 串行外设接口(Serial peripheral interface:SPI)是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信、交换信息。 SPI可以实现主设备或从设备协议,当配置为主设备时,SPI可以连接多达16个独立的从设备,发送数据和接

30、收数据寄存器的宽度可配置为8位或16位 SPI使用2根数据线、1根控制线和1根时钟线实现串行通信 主入从出(MISO) 主出从入(MOSI) 串行时钟(SCK) 从设备选择(NSS),1.12 同步串行口SPI和I2C 1.12.1 SPI,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI时钟周期 在一个SPI时钟周期内,会完成如下操作: 1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据; 2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据。 这个SPI时钟周期,就是SCK信号的时钟周期。因此,该时钟的频率决定了SPI的传输速率。 SPI主从模式

31、SPI接口支持多从机模式,如图1-19.,SPI结构 SPI由收发数据和收发控制两部分组成 收发数据部分包括发送缓冲区、接收缓存区和移位寄存器 收发控制部分包括控制状态寄存器、通信电路、主控制电路和波特率发生器,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI结构 NSS是一个可选的引脚功能是用作“片选引脚”用来选择从设备,通常配置成通用I/O引脚 当SPI连接多个从设备时MOSI、MISO和SCK连接所有的从设备,但每个从设备的NSS引脚必须连接到主设备的一个通用I/O引脚,1.12 同步串行口SPI和I2C 1.12.1 SPI,1.12 同步串行口SPI和I2C 1.12

32、.1 SPI,SPI框图分析,1.12 同步串行口SPI和I2C 1.12.1 SPI,SPI波形图,I2C结构 内部集成电路总线接口I2C是通信控制领域广泛采用的一种总线标准,用于连接微控制器和外围设备,连接在总线上的每个设备都有唯一的7/10位地址 I2C使用一根双向串行数据线SDA和一根双向串行时钟线SCL实现主/从设备间的多主串行通信,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C结构 SDA和SCL的时序关系 起始条件是在SCL高电平时SDA从高电平变为低电平, 停止条件是在SCL高电平时SDA从低电平变为高电平 SDA上的数据必须在SCL高电平时保持稳定,低电平时

33、 可以改变。发送器发送数据后释放SDA(高电平),接收器接收数据后必须在SCL低电平时将SDA变为低电平,并在SCL高电平时保持稳定,作为对发送器的应答,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C结构 传输数据 发送到SDA信号线上的数据以字节为单位,每个字节必须为8位,而且是高位在前,低位在后,每次发送数据的字节数量不受限制。当发送方发送完每一字节后,都必须等待接收方返回一个应答响应信号ACK。 发送器发送数据后释放SDA(高电平),接收器接收数据后必须在SCL低电平时将SDA变为低电平,并在SCL高电平时保持稳定,作为对发送器的应答,1.12 同步串行口SPI和I2C

34、 1.12.2 I2C,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C 总线作为一个多主机的总线,可以连接多于一个能控制总线的器件到总线。主机通常是微控制器,例如STM32。考虑数据在两个连接到I2C 总线的微控制器及三个I2C外设之间传输的情况如图P43页1-22:,1.12 同步串行口SPI和I2C 1.12.2 I2C,1.12 同步串行口SPI和I2C 1.12.2 I2C,I2C结构 I2C由数据和时钟两部分组成 数据部分包括数据寄存器、数据移位寄存器和数据控制等 时钟部分包括控制状态寄存器、时钟控制寄存器、控制逻辑电路和时钟控制等,控制状态寄存器通过控制逻辑电路等控制时钟的行为,1.12 同步串行口SPI和I2C 1.12.2 I2C,USART简介 Universal synchronous Asynchronous Receiver /Transmitter 它提供了一种灵活的方法与使用异步串行数据格式的外部设备

温馨提示

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

评论

0/150

提交评论