MPU9250配置例程_第1页
MPU9250配置例程_第2页
MPU9250配置例程_第3页
MPU9250配置例程_第4页
MPU9250配置例程_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、MPU9250的SPI读取例程,由一个忘了什么来源的程序改成,只需要改SPI和CS的宏定义,加上延时函数,就可以使用,亲测可用,发上来给那些找不到例程的朋友,配置后的状态在另一个文档里,名为MPU9250刷新速率和单位,程序如有侵权等,请联系/MPU9250的陀螺仪单位转换系数:/#define MPU9250_Gyro_FS1000 32.8 /MPU9250的加速度计单位转换系数:/#define Acc_FS2g 1671.84 /to m/ss/MPU9250磁力计的单位转换系数:/#define Mega_FS16BIT_Ga 6.83/*1uT-10mGass*/static s1

2、6 MPU9250_AK8963_ASA3 = 0, 0, 0;/1T=10000GASS 1uT=0.01GASS/ 定义MPU9250内部地址/Register Map for Gyroscope and Accelerometer#define MPU9250_SELF_TEST_X_GYRO 0x00#define MPU9250_SELF_TEST_Y_GYRO 0x01#define MPU9250_SELF_TEST_Z_GYRO 0x02#define MPU9250_SELF_TEST_X_ACCEL 0x0D#define MPU9250_SELF_TEST_Y_ACCEL

3、 0x0E#define MPU9250_SELF_TEST_Z_ACCEL 0x0F#define MPU9250_XG_OFFSET_H 0x13#define MPU9250_XG_OFFSET_L 0x14#define MPU9250_YG_OFFSET_H 0x15#define MPU9250_YG_OFFSET_L 0x16#define MPU9250_ZG_OFFSET_H 0x17#define MPU9250_ZG_OFFSET_L 0x18#define MPU9250_SMPLRT_DIV 0x19/陀螺仪采样率,典型值:0x07(125Hz) #define MP

4、U9250_CONFIG 0x1A/低通滤波频率,典型值:0x06(5Hz)#define MPU9250_GYRO_CONFIG 0x1B/陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s)#define MPU9250_ACCEL_CONFIG 0x1C/加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz)#define MPU9250_ACCEL_CONFIG2 0x1D#define MPU9250_LP_ACCEL_ODR 0x1E#define MPU9250_WOM_THR 0x1F#define MPU9250_FIFO_EN 0x23

5、#define MPU9250_I2C_MST_CTRL 0x24#define MPU9250_I2C_SLV0_ADDR 0x25#define MPU9250_I2C_SLV0_REG 0x26#define MPU9250_I2C_SLV0_CTRL 0x27#define MPU9250_I2C_SLV1_ADDR 0x28#define MPU9250_I2C_SLV1_REG 0x29#define MPU9250_I2C_SLV1_CTRL 0x2A#define MPU9250_I2C_SLV2_ADDR 0x2B#define MPU9250_I2C_SLV2_REG 0x

6、2C#define MPU9250_I2C_SLV2_CTRL 0x2D#define MPU9250_I2C_SLV3_ADDR 0x2E#define MPU9250_I2C_SLV3_REG 0x2F#define MPU9250_I2C_SLV3_CTRL 0x30#define MPU9250_I2C_SLV4_ADDR 0x31#define MPU9250_I2C_SLV4_REG 0x32#define MPU9250_I2C_SLV4_DO 0x33#define MPU9250_I2C_SLV4_CTRL 0x34#define MPU9250_I2C_SLV4_DI 0x

7、35#define MPU9250_I2C_MST_STATUS 0x36#define MPU9250_INT_PIN_CFG 0x37#define MPU9250_INT_ENABLE 0x38#define MPU9250_INT_STATUS 0x3A#define MPU9250_ACCEL_XOUT_H 0x3B#define MPU9250_ACCEL_XOUT_L 0x3C#define MPU9250_ACCEL_YOUT_H 0x3D#define MPU9250_ACCEL_YOUT_L 0x3E#define MPU9250_ACCEL_ZOUT_H 0x3F#def

8、ine MPU9250_ACCEL_ZOUT_L 0x40#define MPU9250_TEMP_OUT_H 0x41#define MPU9250_TEMP_OUT_L 0x42#define MPU9250_GYRO_XOUT_H 0x43#define MPU9250_GYRO_XOUT_L 0x44#define MPU9250_GYRO_YOUT_H 0x45#define MPU9250_GYRO_YOUT_L 0x46#define MPU9250_GYRO_ZOUT_H 0x47#define MPU9250_GYRO_ZOUT_L 0x48#define MPU9250_E

9、XT_SENS_DATA_00 0x49#define MPU9250_EXT_SENS_DATA_01 0x4A#define MPU9250_EXT_SENS_DATA_02 0x4B#define MPU9250_EXT_SENS_DATA_03 0x4C#define MPU9250_EXT_SENS_DATA_04 0x4D#define MPU9250_EXT_SENS_DATA_05 0x4E#define MPU9250_EXT_SENS_DATA_06 0x4F#define MPU9250_EXT_SENS_DATA_07 0x50#define MPU9250_EXT_S

10、ENS_DATA_08 0x51#define MPU9250_EXT_SENS_DATA_09 0x52#define MPU9250_EXT_SENS_DATA_10 0x53#define MPU9250_EXT_SENS_DATA_11 0x54#define MPU9250_EXT_SENS_DATA_12 0x55#define MPU9250_EXT_SENS_DATA_13 0x56#define MPU9250_EXT_SENS_DATA_14 0x57#define MPU9250_EXT_SENS_DATA_15 0x58#define MPU9250_EXT_SENS_

11、DATA_16 0x59#define MPU9250_EXT_SENS_DATA_17 0x5A#define MPU9250_EXT_SENS_DATA_18 0x5B#define MPU9250_EXT_SENS_DATA_19 0x5C#define MPU9250_EXT_SENS_DATA_20 0x5D#define MPU9250_EXT_SENS_DATA_21 0x5E#define MPU9250_EXT_SENS_DATA_22 0x5F#define MPU9250_EXT_SENS_DATA_23 0x60#define MPU9250_I2C_SLV0_DO 0

12、x63#define MPU9250_I2C_SLV1_DO 0x64#define MPU9250_I2C_SLV2_DO 0x65#define MPU9250_I2C_SLV3_DO 0x66#define MPU9250_I2C_MST_DELAY_CTRL 0x67#define MPU9250_SIGNAL_PATH_RESET 0x68#define MPU9250_MOT_DETECT_CTRL 0x69#define MPU9250_USER_CTRL 0x6A#define MPU9250_PWR_MGMT_1 0x6B/电源管理,典型值:0x00(正常启用)#define

13、 MPU9250_PWR_MGMT_2 0x6C#define MPU9250_FIFO_COUNTH 0x72#define MPU9250_FIFO_COUNTL 0x73#define MPU9250_FIFO_R_W 0x74#define MPU9250_WHO_AM_I 0x75/ID寄存器(默认数值0x71,只读)#define MPU9250_XA_OFFSET_H 0x77#define MPU9250_XA_OFFSET_L 0x78#define MPU9250_YA_OFFSET_H 0x7A#define MPU9250_YA_OFFSET_L 0x7B#define

14、 MPU9250_ZA_OFFSET_H 0x7D#define MPU9250_ZA_OFFSET_L 0x7E/#define MPU9250_I2C_READ 0x80/Magnetometer register maps#define MPU9250_AK8963_WIA 0x00#define MPU9250_AK8963_INFO 0x01#define MPU9250_AK8963_ST1 0x02#define MPU9250_AK8963_XOUT_L 0x03#define MPU9250_AK8963_XOUT_H 0x04#define MPU9250_AK8963_Y

15、OUT_L 0x05#define MPU9250_AK8963_YOUT_H 0x06#define MPU9250_AK8963_ZOUT_L 0x07#define MPU9250_AK8963_ZOUT_H 0x08#define MPU9250_AK8963_ST2 0x09#define MPU9250_AK8963_CNTL 0x0A#define MPU9250_AK8963_CNTL2 0x0B#define MPU9250_AK8963_RSV 0x0B /DO NOT ACCESS <MPU9250_AK8963_CNTL2>#define MPU9250_A

16、K8963_ASTC 0x0C#define MPU9250_AK8963_TS1 0x0D /DO NOT ACCESS#define MPU9250_AK8963_TS2 0x0E /DO NOT ACCESS#define MPU9250_AK8963_I2CDIS 0x0F#define MPU9250_AK8963_ASAX 0x10#define MPU9250_AK8963_ASAY 0x11#define MPU9250_AK8963_ASAZ 0x12#define MPU9250_AK8963_I2C_ADDR 0x0C#define MPU9250_AK8963_POWE

17、R_DOWN 0x10#define MPU9250_AK8963_FUSE_ROM_ACCESS 0x1F#define MPU9250_AK8963_SINGLE_MEASUREMENT 0x11#define MPU9250_AK8963_CONTINUOUS_MEASUREMENT 0x16 /MODE2刷新速率 100Hz#define MPU9250_AK8963_DATA_READY (0x01)#define MPU9250_AK8963_DATA_OVERRUN (0x02)#define MPU9250_AK8963_OVERFLOW (0x80)#define MPU92

18、50_AK8963_DATA_ERROR (0x40)#define MPU9250_AK8963_CNTL2_SRST 0x01/#define MPU9250_I2C_SLV4_EN 0x80#define MPU9250_I2C_SLV4_DONE 0x40#define MPU9250_I2C_SLV4_NACK 0x10/#define MPU9250_I2C_IF_DIS (0x10)#define MPU9250_I2C_MST_EN (0x20)#define MPU9250_FIFO_RST (0x04)#define MPU9250_FIFO_ENABLE (0x40)/#

19、define MPU9250_RESET 0x80#define MPU9250_CLOCK_MASK 0xF8#define MPU9250_CLOCK_INTERNAL 0x00#define MPU9250_CLOCK_PLL 0x01#define MPU9250_CLOCK_PLLGYROZ 0x03#define MPU9250_FS_SEL_MASK 0xE7#define MPU9250_SLEEP_MASK 0x40/#define MPU9250_XYZ_GYRO 0xC7#define MPU9250_XYZ_ACCEL 0xF8/#define MPU9250_RAW_

20、RDY_EN (0x01)#define MPU9250_RAW_DATA_RDY_INT (0x01)#define MPU9250_FIFO_OVERFLOW (0x10)/#define MPU9250_INT_ANYRD_2CLEAR (0x10)#define MPU9250_LATCH_INT_EN (0x20)/#define MPU9250_MAX_FIFO (1024)#define MPU9250_FIFO_SIZE_1024 (0x40)#define MPU9250_FIFO_SIZE_2048 (0x80)#define MPU9250_FIFO_SIZE_4096

21、(0xC0)#define MPU9250_TEMP_OUT (0x80)#define MPU9250_GYRO_XOUT (0x40)#define MPU9250_GYRO_YOUT (0x20)#define MPU9250_GYRO_ZOUT (0x10)#define MPU9250_ACCEL (0x08)/#define SMPLRT_DIV 0#define MPU9250_SPIx_ADDR 0x00/*/#define MPU9250_SPI_ReadWriteByte(x)SPI1_ReadWriteByte(x)#define MPU9250_CS_L GPIO_Re

22、setBits(GPIOA,GPIO_Pin_4)#define MPU9250_CS_H GPIO_SetBits(GPIOA,GPIO_Pin_4)/*/enum MPU9250_GYRO_DLPF MPU9250_GYRO_DLPF_250HZ = 0, MPU9250_GYRO_DLPF_184HZ, MPU9250_GYRO_DLPF_92HZ, MPU9250_GYRO_DLPF_41HZ, MPU9250_GYRO_DLPF_20HZ, MPU9250_GYRO_DLPF_10HZ, MPU9250_GYRO_DLPF_5HZ, MPU9250_GYRO_DLPF_3600HZ,

23、 NUM_GYRO_DLPF;enum MPU9250_GYRO_FSR MPU9250_FSR_250DPS = 0, MPU9250_FSR_500DPS, MPU9250_FSR_1000DPS, MPU9250_FSR_2000DPS, MPU9250_NUM_GYRO_FSR;enum MPU9250_ACCEL_DLPF MPU9250_ACCEL_DLPF_460HZ = 0, MPU9250_ACCEL_DLPF_184HZ, MPU9250_ACCEL_DLPF_92HZ, MPU9250_ACCEL_DLPF_41HZ, MPU9250_ACCEL_DLPF_20HZ, M

24、PU9250_ACCEL_DLPF_10HZ, MPU9250_ACCEL_DLPF_5HZ, MPU9250_ACCEL_DLPF_460HZ2, MPU9250_NUM_ACCEL_DLPF;enum MPU9250_ACCEL_FSR MPU9250_FSR_2G = 0, MPU9250_FSR_4G, MPU9250_FSR_8G, MPU9250_FSR_16G, MPU9250_NUM_ACCEL_FSR;enum MPU9250_CLK MPU9250_CLK_INTERNAL = 0, MPU9250_CLK_PLL, MPU9250_NUM_CLK;/MPU9250_SPI

25、_Write/MPU9250的SPI写一个字节函数/reg_addr 寄存器地址 data 要写入的数据void MPU9250_SPI_Write(u8 reg_addr, u8 data)MPU9250_CS_L;MPU9250_SPI_ReadWriteByte(reg_addr);MPU9250_SPI_ReadWriteByte(data);MPU9250_CS_H;/MPU9250_SPI_Writes/MPU9250的SPI写多个字节函数/ reg_addr 寄存器地址 len字节数*data 要写入的数据存放的数组void MPU9250_SPI_Writes(u8 reg_a

26、ddr, u8 len, u8* data)u32 i = 0;MPU9250_CS_L;MPU9250_SPI_ReadWriteByte(reg_addr);while(i < len)MPU9250_SPI_ReadWriteByte(datai+);MPU9250_CS_H;/MPU9250_SPI_Read/MPU9250的读一个字节函数/reg_addr 寄存器地址u8 MPU9250_SPI_Read(u8 reg_addr)u8 dummy = 0;u8 data = 0;MPU9250_CS_L;MPU9250_SPI_ReadWriteByte(0x80 | reg_

27、addr);data = MPU9250_SPI_ReadWriteByte(dummy);MPU9250_CS_H;return data;/MPU9250_SPI_Reads/MPU9250的读多个字节函数/reg_addr 寄存器地址 len读取字节数*data数据存放数组void MPU9250_SPI_Reads(u8 reg_addr, u8 len, u8* data)u32 i = 0;u8 dummy = 0x00;MPU9250_CS_L;MPU9250_SPI_ReadWriteByte(MPU9250_I2C_READ | reg_addr);while(i <

28、len)datai+ = MPU9250_SPI_ReadWriteByte(dummy);MPU9250_CS_H;/以下四个函数,作用是设置磁力计int MPU9250_AK8963_SPI_Read(u8 akm_addr, u8 reg_addr, u8* data) u8 status = 0;u32 timeout = 0;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_REG, 1, &reg_addr);delay_ms(1);reg_addr = akm_addr | MPU9250_I2C_READ;MPU9250_SPI_Writes(MP

29、U9250_I2C_SLV4_ADDR, 1, &reg_addr);delay_ms(1);reg_addr = MPU9250_I2C_SLV4_EN;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_CTRL, 1, &reg_addr);delay_ms(1);doif (timeout+ > 50)return -2;MPU9250_SPI_Reads(MPU9250_I2C_MST_STATUS, 1, &status);delay_ms(1); while (status & MPU9250_I2C_SLV4_DONE)

30、 = 0);MPU9250_SPI_Reads(MPU9250_I2C_SLV4_DI, 1, data);return 0;int MPU9250_AK8963_SPI_Reads(u8 akm_addr, u8 reg_addr, u8 len, u8* data)u8 index = 0;u8 status = 0;u32 timeout = 0;u8 tmp = 0;tmp = akm_addr | MPU9250_I2C_READ;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_ADDR, 1, &tmp);delay_ms(1);while(inde

31、x < len)tmp = reg_addr + index;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_REG, 1, &tmp);delay_ms(1);tmp = MPU9250_I2C_SLV4_EN;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_CTRL, 1, &tmp);delay_ms(1);do if (timeout+ > 50)return -2;MPU9250_SPI_Reads(MPU9250_I2C_MST_STATUS, 1, &status);delay_ms(2); wh

32、ile (status & MPU9250_I2C_SLV4_DONE) = 0);MPU9250_SPI_Reads( MPU9250_I2C_SLV4_DI, 1, data + index);delay_ms(1);index+;return 0;int MPU9250_AK8963_SPI_Write(u8 akm_addr, u8 reg_addr, u8 data)u32 timeout = 0;uint8_t status = 0;u8 tmp = 0;tmp = akm_addr;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_ADDR, 1,

33、&tmp);delay_ms(1);tmp = reg_addr;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_REG, 1, &tmp);delay_ms(1);tmp = data;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_DO, 1, &tmp);delay_ms(1);tmp = MPU9250_I2C_SLV4_EN;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_CTRL, 1, &tmp);delay_ms(1);do if (timeout+ > 50)retu

34、rn -2;MPU9250_SPI_Reads(MPU9250_I2C_MST_STATUS, 1, &status);delay_ms(1); while (status & MPU9250_I2C_SLV4_DONE) = 0);if (status & MPU9250_I2C_SLV4_NACK)return -3;return 0;int MPU9250_AK8963_SPI_Writes(u8 akm_addr, u8 reg_addr, u8 len, u8* data)u32 timeout = 0;uint8_t status = 0;u8 tmp =

35、0;u8 index = 0;tmp = akm_addr;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_ADDR, 1, &tmp);delay_ms(1);while(index < len)tmp = reg_addr + index;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_REG, 1, &tmp);delay_ms(1);MPU9250_SPI_Writes(MPU9250_I2C_SLV4_DO, 1, data + index);delay_ms(1);tmp = MPU9250_I2C_SLV4_E

36、N;MPU9250_SPI_Writes(MPU9250_I2C_SLV4_CTRL, 1, &tmp);delay_ms(1);do if (timeout+ > 50)return -2;MPU9250_SPI_Reads(MPU9250_I2C_MST_STATUS, 1, &status);delay_ms(1); while (status & MPU9250_I2C_SLV4_DONE) = 0);if (status & MPU9250_I2C_SLV4_NACK)return -3;index+;return 0;/ MPU9250_Get

37、9AxisRawData/MPU9250获取九轴数据/ *accel 加速计数据 *gyro陀螺仪数据*mag 磁力计数据数组 数组大小应为3x y zvoid MPU9250_Get9AxisRawData(short *accel, short * gyro, short * mag)u8 data22;MPU9250_SPI_Reads(MPU9250_ACCEL_XOUT_H, 22, data);accel0 = (data0 << 8) | data1;accel1 = (data2 << 8) | data3;accel2 = (data4 <<

38、; 8) | data5;gyro0 = (data8 << 8) | data9;gyro1 = (data10 << 8) | data11;gyro2 = (data12 << 8) | data13;if (!(data14 & MPU9250_AK8963_DATA_READY) | (data14 & MPU9250_AK8963_DATA_OVERRUN)return;if (data21 & MPU9250_AK8963_OVERFLOW)return;mag0 = (data16 << 8) | data

39、15;mag1 = (data18 << 8) | data17;mag2 = (data20 << 8) | data19;/ned x,y,zmag0 = (long)mag0 * MPU9250_AK8963_ASA0) >> 8;mag1 = (long)mag1 * MPU9250_AK8963_ASA1) >> 8;mag2 = (long)mag2 * MPU9250_AK8963_ASA2) >> 8;/MPU9250_GetDeviceID/MPU9250获取IDu8 MPU9250_GetDeviceID(void

40、)return MPU9250_SPI_Read(MPU9250_WHO_AM_I);/MPU9250_Init/MPU9250初始化void MPU9250_Init(void)u8 data = 0, state = 0;uint8_t response3 = 0, 0, 0;/MPU9250 ResetMPU9250_SPI_Write(MPU9250_PWR_MGMT_1, MPU9250_RESET);delay_ms(100);/MPU9250 Set Clock SourceMPU9250_SPI_Write(MPU9250_PWR_MGMT_1, MPU9250_CLOCK_P

41、LLGYROZ);delay_ms(1);/MPU9250 Set Interrupt/Interrupt status is cleared if any read operation is performed.MPU9250_SPI_Write(MPU9250_INT_PIN_CFG, MPU9250_INT_ANYRD_2CLEAR);delay_ms(1);MPU9250_SPI_Write(MPU9250_INT_ENABLE, DISABLE);delay_ms(1);/MPU9250 Set Sensors/Enable all xyzMPU9250_SPI_Write(MPU9

42、250_PWR_MGMT_2, MPU9250_XYZ_GYRO & MPU9250_XYZ_ACCEL);delay_ms(1);/MPU9250 Set SampleRate/SAMPLE_RATE = Internal_Sample_Rate / (1 + SMPLRT_DIV)MPU9250_SPI_Write(MPU9250_SMPLRT_DIV, SMPLRT_DIV);delay_ms(1);/MPU9250 Set Full Scale Gyro Range/Fchoice_b1:0 = 00 enable DLPFMPU9250_SPI_Write(MPU9250_G

43、YRO_CONFIG, (MPU9250_FSR_1000DPS << 3);delay_ms(1);/MPU9250 Set Full Scale Accel Range PS:2GMPU9250_SPI_Write(MPU9250_ACCEL_CONFIG, (MPU9250_FSR_2G << 3);delay_ms(1);/MPU9250 Set Accel DLPFdata = MPU9250_SPI_Read(MPU9250_ACCEL_CONFIG2);data |= MPU9250_ACCEL_DLPF_41HZ;delay_ms(1);MPU9250_

44、SPI_Write(MPU9250_ACCEL_CONFIG2, data);delay_ms(1);/MPU9250 Set Gyro DLPFMPU9250_SPI_Write(MPU9250_CONFIG, MPU9250_GYRO_DLPF_41HZ);delay_ms(1);/MPU9250 Set SPI Modestate = MPU9250_SPI_Read(MPU9250_USER_CTRL);delay_ms(1);/Reset I2C Slave module and put the serial interface in SPI mode only. This bit

45、auto clears after one clock cycle.MPU9250_SPI_Write(MPU9250_USER_CTRL, state | MPU9250_I2C_IF_DIS);delay_ms(1);state = MPU9250_SPI_Read(MPU9250_USER_CTRL);delay_ms(1);/Enable the I2C Master I/F module; pins ES_DA and ES_SCL are isolated from pins SDA/SDI and SCL/ SCLK.MPU9250_SPI_Write(MPU9250_USER_

46、CTRL, state | MPU9250_I2C_MST_EN);delay_ms(1);/AK8963 Setup/reset AK8963MPU9250_AK8963_SPI_Write(MPU9250_AK8963_I2C_ADDR, MPU9250_AK8963_CNTL2, MPU9250_AK8963_CNTL2_SRST);delay_ms(2);/BIT: Output bit setting 4800uT/ "1": 16-bit output MPU9250_AK8963_SPI_Write(MPU9250_AK8963_I2C_ADDR, MPU9250_AK8963_CNTL, MPU9250_AK8963_POWER_DOWN);delay_ms(1);/Fuse RO

温馨提示

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

评论

0/150

提交评论