




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、在STM32戰(zhàn)艦開發(fā)板上測試,接受采用IRQ引腳產(chǎn)生外部中斷。發(fā)送數(shù)據(jù)字節(jié)長度可以動態(tài)改變,接收端也可以讀取到發(fā)送方實際發(fā)送字節(jié)長度。戰(zhàn)艦開發(fā)板為接收端。然后將接受數(shù)據(jù)通過USART1發(fā)送至電腦,使用DMA傳輸方式,波。STM32F103ZET6與NRF24L01 SPI通信速率為9MHz。24L01.c文件代碼#include "24l01.h"#include "lcd.h"#include "delay.h"#include "spi.h"const uint8_t TX_ADDRESSTX_ADR_WIDT
2、H=0x34,0x43,0x10,0x10,0x01; /發(fā)送地址const uint8_t RX_ADDRESSRX_ADR_WIDTH=0x34,0x43,0x10,0x10,0x01; /發(fā)送地址/初始化24L01的IO口void NRF24L01_Init(void) GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;RCC_APB2PeriphClockC
3、md(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOG |RCC_APB2Periph_AFIO, ENABLE); /使能PB,D,G端口時鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; /PB12上拉 防止W25X的干擾 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽輸出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &G
4、PIO_InitStructure);/初始化指定IO GPIO_SetBits(GPIOB,GPIO_Pin_12);/上拉 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; /PD2推挽輸出上拉 禁止SD卡的干擾 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽輸出 GPIO_SetBits(GPIOD,GPIO_Pin_2);/初始化指定IOGPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;/PG6 7 推挽 GPIO_Init(GPIOG, &
5、amp;GPIO_InitStructure);/初始化指定IORCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);/使能復用功能時鐘GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOG, &GPIO_InitStructure);GPIO_EXTILineConfig(GPIO_Por
6、tSourceGPIOG,GPIO_PinSource8);EXTI_InitStructure.EXTI_Line = EXTI_Line8;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_I
7、RQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure); NRF24L01_CE=0; /使能24L01NRF24L01_CSN=1;/SPI片選取消 SPI2_Init(); /初始化SPI SPI_Cmd(SPI2, DISABLE); / SPI外設不使能SPI_
8、InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; /SPI設置為雙線雙向全雙工SPI_InitStructure.SPI_Mode = SPI_Mode_Master;/SPI主機 SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;/發(fā)送接收8位幀結(jié)構(gòu)SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;/時鐘懸空低SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;/數(shù)據(jù)捕獲于第1個時鐘沿SPI_Init
9、Structure.SPI_NSS = SPI_NSS_Soft;/NSS信號由軟件控制SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;/定義波特率預分頻的值:波特率預分頻值為16SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;/數(shù)據(jù)傳輸從MSB位開始SPI_InitStructure.SPI_CRCPolynomial = 7;/CRC值計算的多項式SPI_Init(SPI2, &SPI_InitStructure); /根據(jù)SPI_InitStr
10、uct中指定的參數(shù)初始化外設SPIx寄存器SPI_Cmd(SPI2, ENABLE); /使能SPI外設SPI2_SetSpeed(SPI_BaudRatePrescaler_4);/9MHz /檢測24L01是否存在/返回值:0,成功;1,失敗u8 NRF24L01_Check(void)u8 buf5=0XA5,0XA5,0XA5,0XA5,0XA5;u8 i;NRF24L01_Write_Buf(WRITE_REG_NRF+TX_ADDR,buf,5);/寫入5個字節(jié)的地址.NRF24L01_Read_Buf(TX_ADDR,buf,5); /讀出寫入的地址 for(i=0;i<5
11、;i+)if(bufi!=0XA5)break; if(i!=5)return 1;/檢測24L01錯誤return 0; /檢測到24L01 /SPI寫寄存器/reg:指定寄存器地址/value:寫入的值u8 NRF24L01_Write_Reg(u8 reg,u8 value)u8 status; NRF24L01_CSN=0; /使能SPI傳輸 status =SPI2_ReadWriteByte(reg);/發(fā)送寄存器號 SPI2_ReadWriteByte(value); /寫入寄存器的值 NRF24L01_CSN=1; /禁止SPI傳輸 return(status); /返回狀態(tài)值
12、/讀取SPI寄存器值/reg:要讀的寄存器u8 NRF24L01_Read_Reg(u8 reg)u8 reg_val; NRF24L01_CSN = 0; /使能SPI傳輸 SPI2_ReadWriteByte(reg); /發(fā)送寄存器號 reg_val=SPI2_ReadWriteByte(0XFF);/讀取寄存器內(nèi)容 NRF24L01_CSN = 1; /禁止SPI傳輸 return(reg_val); /返回狀態(tài)值/在指定位置讀出指定長度的數(shù)據(jù)/reg:寄存器(位置)/*pBuf:數(shù)據(jù)指針/len:數(shù)據(jù)長度/返回值,此次讀到的狀態(tài)寄存器值 u8 NRF24L01_Read_Buf(u8
13、 reg,u8 *pBuf,u8 len)u8 status,u8_ctr; NRF24L01_CSN = 0; /使能SPI傳輸 status=SPI2_ReadWriteByte(reg);/發(fā)送寄存器值(位置),并讀取狀態(tài)值 for(u8_ctr=0;u8_ctr<len;u8_ctr+) pBufu8_ctr=SPI2_ReadWriteByte(0XFF);/讀出數(shù)據(jù) NRF24L01_CSN=1; /關閉SPI傳輸 return status; /返回讀到的狀態(tài)值/在指定位置寫指定長度的數(shù)據(jù)/reg:寄存器(位置)/*pBuf:數(shù)據(jù)指針/len:數(shù)據(jù)長度/返回值,此次讀到的狀
14、態(tài)寄存器值u8 NRF24L01_Write_Buf(u8 reg, u8 *pBuf, u8 len)u8 status,u8_ctr; NRF24L01_CSN = 0; /使能SPI傳輸 status = SPI2_ReadWriteByte(reg);/發(fā)送寄存器值(位置),并讀取狀態(tài)值 for(u8_ctr=0; u8_ctr<len; u8_ctr+)SPI2_ReadWriteByte(*pBuf+); /寫入數(shù)據(jù) NRF24L01_CSN = 1; /關閉SPI傳輸 return status; /返回讀到的狀態(tài)值/啟動NRF24L01發(fā)送一次數(shù)據(jù)/txbuf:待發(fā)送數(shù)據(jù)
15、首地址/返回值:發(fā)送完成狀況u8 NRF24L01_TxPacket(u8 *txbuf,u8 length)u8 sta;NRF24L01_CE=0;if(length>=32)return 0;elseNRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,length);/寫數(shù)據(jù)到TX BUF32個字節(jié) NRF24L01_CE=1;/啟動發(fā)送 while(NRF24L01_IRQ!=0);/等待發(fā)送完成sta=NRF24L01_Read_Reg(STATUS); /讀取狀態(tài)寄存器的值 NRF24L01_Write_Reg(WRITE_REG_NRF+STATUS,
16、sta); /清除TX_DS或MAX_RT中斷標志if(sta&MAX_TX)/達到最大重發(fā)次數(shù)NRF24L01_Write_Reg(FLUSH_TX,0xff);/清除TX FIFO寄存器 return MAX_TX; if(sta&TX_OK)/發(fā)送完成return TX_OK;return 0xff;/其他原因發(fā)送失敗/啟動NRF24L01發(fā)送一次數(shù)據(jù)/txbuf:待發(fā)送數(shù)據(jù)首地址/返回值:0,接收完成;其他,錯誤代碼u8 NRF24L01_RxPacket(u8 *rxbuf)u8 sta; sta=NRF24L01_Read_Reg(STATUS); /讀取狀態(tài)寄存器
17、的值 NRF24L01_Write_Reg(WRITE_REG_NRF+STATUS,sta); /清除TX_DS或MAX_RT中斷標志if(sta&RX_OK)/接收到數(shù)據(jù)NRF24L01_Read_Buf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);/讀取數(shù)據(jù)NRF24L01_Write_Reg(FLUSH_RX,0xff);/清除RX FIFO寄存器 return 0; return 1;/沒收到任何數(shù)據(jù) /該函數(shù)初始化NRF24L01到RX模式/設置RX地址,寫RX數(shù)據(jù)寬度,選擇RF頻道,波特率和LNA HCURR/當CE變高后,即進入RX模式,并可以接
18、收數(shù)據(jù)了 void NRF24L01_RX_Mode(void)NRF24L01_CE=0; NRF24L01_Write_Buf(WRITE_REG_NRF+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);/寫RX節(jié)點地址 NRF24L01_Write_Reg(WRITE_REG_NRF+EN_AA,EN_P0); /使能通道0的自動應答 NRF24L01_Write_Reg(WRITE_REG_NRF+EN_RXADDR,EN_P0);/使能通道0的接收地址 NRF24L01_Write_Reg(WRITE_REG_NRF+RF_CH,40); /設置RF
19、通信頻率 NRF24L01_Write_Reg(WRITE_REG_NRF+RX_PW_P0,RX_PLOAD_WIDTH);/選擇通道0的有效數(shù)據(jù)寬度 NRF24L01_Write_Reg(WRITE_REG_NRF+RF_SETUP,0x0f);/設置TX發(fā)射參數(shù),0db增益,2Mbps,低噪聲增益開啟 NRF24L01_Write_Reg(WRITE_REG_NRF+CONFIG, 0x0f);/配置基本工作模式的參數(shù);PWR_UP,EN_CRC,16BIT_CRC,接收模式 #if EN_DYNAMIC_DATA_LENGTH /使能動態(tài)數(shù)據(jù)長度NRF24L01_Write_Reg(W
20、RITE_REG_NRF+FEATURE,EN_DPL);NRF24L01_Write_Reg(WRITE_REG_NRF+DYNPD,EN_P0);#endif NRF24L01_CE = 1; /CE為高,130us進入接收模式 delay_us(500); /該函數(shù)初始化NRF24L01到TX模式/設置TX地址,寫TX數(shù)據(jù)寬度,設置RX自動應答的地址,填充TX發(fā)送數(shù)據(jù),選擇RF頻道,波特率和LNA HCURR/PWR_UP,CRC使能/當CE變高后,即進入RX模式,并可以接收數(shù)據(jù)了 /CE為高大于10us,則啟動發(fā)送. void NRF24L01_TX_Mode(void) NRF24L
21、01_CE=0; NRF24L01_Write_Buf(WRITE_REG_NRF+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);/寫TX節(jié)點地址 NRF24L01_Write_Buf(WRITE_REG_NRF+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH); /設置TX節(jié)點地址,主要為了使能ACK NRF24L01_Write_Reg(WRITE_REG_NRF+EN_AA,EN_P0); /使能通道0的自動應答 NRF24L01_Write_Reg(WRITE_REG_NRF+EN_RXADDR,EN_P0); /使能通道0
22、的接收地址 NRF24L01_Write_Reg(WRITE_REG_NRF+SETUP_RETR,0x1a);/設置自動重發(fā)間隔時間:500us + 86us;最大自動重發(fā)次數(shù):10次#if EN_DYNAMIC_DATA_LENGTH /動態(tài)數(shù)據(jù)長度發(fā)送NRF24L01_Write_Reg(WRITE_REG_NRF+FEATURE,EN_DPL);NRF24L01_Write_Reg(WRITE_REG_NRF+DYNPD,EN_P0);#endif NRF24L01_Write_Reg(WRITE_REG_NRF+RF_CH,40); /設置RF通道為40 NRF24L01_Write
23、_Reg(WRITE_REG_NRF+RF_SETUP,0x0f); /設置TX發(fā)射參數(shù),0db增益,2Mbps,低噪聲增益開啟 NRF24L01_Write_Reg(WRITE_REG_NRF+CONFIG,0x0e); /配置基本工作模式的參數(shù);PWR_UP,EN_CRC,16BIT_CRC,發(fā)射模式,開啟所有中斷 NRF24L01_CE=1;/CE為高,10us后啟動發(fā)送delay_us(20); 24L01.h文件#ifndef _24L01_H#define _24L01_H #include "sys.h" #include <stdint.h>/*
24、Enable dynamic length, not need send or receive packet data of a fixed length */#defineEN_DYNAMIC_DATA_LENGTH1 /使能動態(tài)數(shù)據(jù)長度/*NRF24L01 type*/#define_NRF24L01/#define_NRF24L01P/#define_NRF24L01N#if defined(_NRF24L01) && defined(_NRF24L01P) #error "You can only select one of NRF24L01x,not two
25、 or more!"#endif#if defined(_NRF24L01) && defined(_NRF24L01N) #error "You can only select one of NRF24L01x,not two or more!"#endif#if defined(_NRF24L01P) && defined(_NRF24L01N) #error "You can only select one of NRF24L01x,not two or more!"#endif#defineRESERVE
26、D0x00#defineEN_P50x20#defineEN_P40x10#defineEN_P30x08#defineEN_P20x04#defineEN_P10x02#defineEN_P00x01/NRF24L01寄存器操作命令#define READ_REG_NRF0x00 /讀配置寄存器,低5位為寄存器地址#define WRITE_REG_NRF0x20 /寫配置寄存器,低5位為寄存器地址#define RD_RX_PLOAD 0x61 /讀RX有效數(shù)據(jù),132字節(jié)#define WR_TX_PLOAD 0xA0 /寫TX有效數(shù)據(jù),132字節(jié)#define FLUSH_TX 0xE
27、1 /清除TX FIFO寄存器.發(fā)射模式下用#define FLUSH_RX 0xE2 /清除RX FIFO寄存器.接收模式下用#define REUSE_TX_PL 0xE3 /重新使用上一包數(shù)據(jù),CE為高,數(shù)據(jù)包被不斷發(fā)送.#defineR_RX_PL_WID0x60 /讀取動態(tài)數(shù)據(jù)長度接受時讀取接受到有效數(shù)據(jù)的數(shù)目#define NOP 0xFF /空操作,可以用來讀狀態(tài)寄存器 /SPI(NRF24L01)寄存器地址#define CONFIG 0x00 /配置寄存器地址;bit0:1接收模式,0發(fā)射模式;bit1:電選擇;bit2:CRC模式;bit3:CRC使能; /bit4:中斷M
28、AX_RT(達到最大重發(fā)次數(shù)中斷)使能;bit5:中斷TX_DS使能;bit6:中斷RX_DR使能#define EN_AA 0x01 /使能自動應答功能 bit05,對應通道05#define EN_RXADDR 0x02 /接收地址允許,bit05,對應通道05#define SETUP_AW 0x03 /設置地址寬度(所有數(shù)據(jù)通道):bit1,0:00,3字節(jié);01,4字節(jié);02,5字節(jié);#define SETUP_RETR 0x04 /建立自動重發(fā);bit3:0,自動重發(fā)計數(shù)器;bit7:4,自動重發(fā)延時 250*x+86us#define RF_CH 0x05 /RF通道,bit6:
29、0,工作通道頻率;#define RF_SETUP 0x06 /RF寄存器;bit3:傳輸速率(0:1Mbps,1:2Mbps);bit2:1,發(fā)射功率;bit0:低噪聲放大器增益#ifdefined(_NRF24L01P)#defineCONT_WAVE(1<<7)#defineRF_DR_RATE_1Mbps0#defineRF_DR_RATE_2Mbps(1<<0)#defineRF_DR_RATE_250kbps(1<<1)#defineRF_DR_RATE_Reserved(1<<0) | (1<<1)#endif#defi
30、ne STATUS 0x07 /狀態(tài)寄存器;bit0:TX FIFO滿標志;bit3:1,接收數(shù)據(jù)通道號(最大:6);bit4,達到最多次重發(fā) /bit5:數(shù)據(jù)發(fā)送完成中斷;bit6:接收數(shù)據(jù)中斷;#define MAX_TX 0x10 /達到最大發(fā)送次數(shù)中斷#define TX_OK 0x20 /TX發(fā)送完成中斷#define RX_OK 0x40 /接收到數(shù)據(jù)中斷#define OBSERVE_TX 0x08 /發(fā)送檢測寄存器,bit7:4,數(shù)據(jù)包丟失計數(shù)器;bit3:0,重發(fā)計數(shù)器#define CD 0x09 /載波檢測寄存器,bit0,載波檢測;#define RX_ADDR_P0
31、0x0A /數(shù)據(jù)通道0接收地址,最大長度5個字節(jié),低字節(jié)在前#define RX_ADDR_P1 0x0B /數(shù)據(jù)通道1接收地址,最大長度5個字節(jié),低字節(jié)在前#define RX_ADDR_P2 0x0C /數(shù)據(jù)通道2接收地址,最低字節(jié)可設置,高字節(jié),必須同RX_ADDR_P139:8相等;#define RX_ADDR_P3 0x0D /數(shù)據(jù)通道3接收地址,最低字節(jié)可設置,高字節(jié),必須同RX_ADDR_P139:8相等;#define RX_ADDR_P4 0x0E /數(shù)據(jù)通道4接收地址,最低字節(jié)可設置,高字節(jié),必須同RX_ADDR_P139:8相等;#define RX_ADDR_P5 0
32、x0F /數(shù)據(jù)通道5接收地址,最低字節(jié)可設置,高字節(jié),必須同RX_ADDR_P139:8相等;#define TX_ADDR 0x10 /發(fā)送地址(低字節(jié)在前),ShockBurstTM模式下,RX_ADDR_P0與此地址相等#define RX_PW_P0 0x11 /接收數(shù)據(jù)通道0有效數(shù)據(jù)寬度(132字節(jié)),設置為0則非法#define RX_PW_P1 0x12 /接收數(shù)據(jù)通道1有效數(shù)據(jù)寬度(132字節(jié)),設置為0則非法#define RX_PW_P2 0x13 /接收數(shù)據(jù)通道2有效數(shù)據(jù)寬度(132字節(jié)),設置為0則非法#define RX_PW_P3 0x14 /接收數(shù)據(jù)通道3有效數(shù)據(jù)
33、寬度(132字節(jié)),設置為0則非法#define RX_PW_P4 0x15 /接收數(shù)據(jù)通道4有效數(shù)據(jù)寬度(132字節(jié)),設置為0則非法#define RX_PW_P5 0x16 /接收數(shù)據(jù)通道5有效數(shù)據(jù)寬度(132字節(jié)),設置為0則非法#define NRF_FIFO_STATUS 0x17 /FIFO狀態(tài)寄存器;bit0,RX FIFO寄存器空標志;bit1,RX FIFO滿標志;bit2,3,保留 /bit4,TX FIFO空標志;bit5,TX FIFO滿標志;bit6,1,循環(huán)發(fā)送上一數(shù)據(jù)包.0,不循環(huán);#defineDYNPD0x1C /使能動態(tài)載荷長度寄存器#defineFEAT
34、URE0x1D /特性寄存器#defineEN_DPL0x04 #defineEN_ACK_PAY0x02#defineEN_DYN_ACK0x01/24L01操作線#define NRF24L01_CE PGout(6) /24L01片選信號#define NRF24L01_CSN PGout(7) /SPI片選信號 #define NRF24L01_IRQ PGin(8) /IRQ主機數(shù)據(jù)輸入/24L01發(fā)送接收數(shù)據(jù)寬度定義#define TX_ADR_WIDTH 5 /5字節(jié)的地址寬度#define RX_ADR_WIDTH 5 /5字節(jié)的地址寬度#define TX_PLOAD_WID
35、TH 16 /32字節(jié)的用戶數(shù)據(jù)寬度#define RX_PLOAD_WIDTH 16 /32字節(jié)的用戶數(shù)據(jù)寬度typedefstructu8 Recv_Buf1RX_PLOAD_WIDTH;/接受緩沖區(qū)1u8 Recv_Buf2RX_PLOAD_WIDTH;/接受緩沖區(qū)2u8 Recv_ValidData_Length;/接受到合法數(shù)據(jù)長度u8 *pRecv_Buf_Point;/指向接受緩沖區(qū)的首地址u8 Recv_Data_Flag;/接受到數(shù)據(jù)標志位NRF24L01_RECV_DATA_TYPE;extern NRF24L01_RECV_DATA_TYPEnrf24l01_Recv_D
36、ata_Param;void NRF24L01_Init(void);/初始化void NRF24L01_RX_Mode(void);/配置為接收模式void NRF24L01_TX_Mode(void);/配置為發(fā)送模式u8 NRF24L01_Write_Buf(u8 reg, u8 *pBuf, u8 u8s);/寫數(shù)據(jù)區(qū)u8 NRF24L01_Read_Buf(u8 reg, u8 *pBuf, u8 u8s);/讀數(shù)據(jù)區(qū) u8 NRF24L01_Read_Reg(u8 reg);/讀寄存器u8 NRF24L01_Write_Reg(u8 reg, u8 value);/寫寄存器u8 N
37、RF24L01_Check(void);/檢查24L01是否存在u8 NRF24L01_RxPacket(u8 *rxbuf);/接收一個包的數(shù)據(jù)u8 NRF24L01_TxPacket(u8 *txbuf,u8 length);#endifMain.c文件#include "led.h"#include "delay.h"#include "sys.h"#include "24l01.h" #include "usart.h"#include <string.h>NRF24L01_
38、RECV_DATA_TYPEnrf24l01_Recv_Data_Param;u8 U8_USART3_TX_BUF100; void NRF24L01_IRQHandler(void);void Error_Handler(void); int main(void) delay_init(); NVIC_Configuration(); LED_Init(); USART_Config();delay_ms(1500);/戰(zhàn)艦版USB-232接口通電,程序會短暫復位,避免影響后面接收delay_ms(1500); NRF24L01_Init(); /* Check the existance of NRF24L01 or the SPI communication between MCU and NRF24L01 is working normally or not */ while(NRF24L01_Check()Error_Handler();/* Set the pRecv_Buf_Point point to the buf1 */nrf24l01_Recv_Data_Param.pRecv_Buf_Point
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國四通道廣告無縫截播系統(tǒng)行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國雙頭小炒爐行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國中型電渣重熔爐行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國不銹鋼燃氣蒸柜行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國3,4-二氧乙撐噻吩行業(yè)投資前景及策略咨詢報告
- 2025年中國鐵基板市場調(diào)查研究報告
- 2025標準臨時借用合同范本
- 學校和社區(qū)互動與合作研究
- 2025城市綠化工程設計項目合同范本
- 2025衛(wèi)生間瓷磚鋪貼合同
- 2025年湖南省永州市寧遠縣中考三模歷史試題(含答案)
- 2024年江蘇省無錫市中考歷史真題(解析版)
- 消防安全知識培訓試題及答案
- 閱讀策略在小學英語教學中的應用
- 2025年黃山旅游發(fā)展股份有限公司春季招聘75人筆試參考題庫附帶答案詳解
- 2025年中考時事政治題及答案
- 醫(yī)院醫(yī)養(yǎng)結(jié)合大樓工程可行性研究報告
- 點膠機考試題及答案
- 江蘇省無錫市天一實驗學校2024-2025學年七年級下學期期中歷史試題(原卷版+解析版)
- 2025年湖北長江出版?zhèn)髅郊瘓F長江出版?zhèn)髅焦菊衅腹P試參考題庫含答案解析
- 2024年海南事業(yè)單位考試真題
評論
0/150
提交評論