




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、24101 的多機(jī)通信采用頻分多子的方法,只需要在接受端對(duì)不同的通道配置地址即可。發(fā)送端使用相應(yīng)的地址作為本機(jī)地址。接受數(shù)據(jù)時(shí)通過讀取 STATU 汕相關(guān)位即可得知接收的是哪個(gè)通道的數(shù)據(jù)。以下僅給出多對(duì)一的通信代碼。至于一對(duì)多,以及多對(duì)多等情況讀者可以自行研究了。只給出相關(guān)部分,其他部分請(qǐng)參考前兩篇文章接受端uintconstADDRESS0ADR_WIDTH=0 x34,0 x43,0 x10,0 x10,0 x01;/uintconstADDRESS1ADR_WIDTH=0 xc4,0 xc3,0 xc2,0 xc1,0 xc0;/頻道 0 接收地址頻道 1 接收地址ucharwho=0
2、xff;/*/*NRF24L01 初始化/*/voidinit_NRF24L01(void)us(100);CE=0;/chipenableCSN=1;/SpidisableSCK=0;/SpiclocklineinithighSPI_Write_Buf(WRITE_REG+TX_ADDR,ADDRESS0,ADR_WIDTH);/寫本地地址SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,ADDRESS0,ADR_WIDTH);/頻道 0 地址SPI_Write_Buf(WRITE_REG+RX_ADDR_P1,ADDRESS1,ADR_WIDTH);/頻道 1 地址SP
3、I_RW_Reg(WRITE_REG+EN_AA,0 x03);/頻道 0、1 自動(dòng)應(yīng)答SPI_RW_Reg(WRITE_REG+EN_RXADDR,0 x03);/允許頻道 0、1SPI_RW_Reg(WRITE_REG+RF_CH,0);/設(shè)置信道工作為 2.4GHZ,收發(fā)必須一SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);/諼收數(shù)諼收數(shù)據(jù)長(zhǎng)度SPI_RW_Reg(WRITE_REG+RX_PW_P1,RX_PLOAD_WIDTH);接接收數(shù)據(jù)長(zhǎng)度SPI_RW_Reg(WRITE_REG+RF_SETUP,0 x07);/設(shè)置發(fā)射速率為 1MH
4、Z 發(fā)射功率為最大值 0dB,*/*函數(shù):unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf)/*功能:數(shù)據(jù)讀取后放如 rx_buf 接收緩沖區(qū)中/*/unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf)unsignedcharrevale=0;sta=SPI_Read(STATUS);/讀取狀態(tài)寄存其來判斷數(shù)據(jù)接收狀況if(RX_DR)/判斷是否接收到數(shù)據(jù)CE=0;SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);revale=1;who=sta&am
5、p;0 x0e;who|=0 xf0;/通道 0:who=0 xf0;通道 1:who=0 xf2SPI_RW_Reg(WRITE_REG+STATUS,0 xff);/接收至 U 數(shù)據(jù)后 RX_DR,TX_DS,MAX_PtB 置高為 1,通過寫 1 來清楚中斷標(biāo)志CSN=0;SPI_RW(FLUSH_RX);CSN=1;returnrevale;voidmain(void)uchari;ucharRxBufTX_PLOAD_WIDTH;init_NRF24L01();StartUART();ms(6000);while(1)/如果接收到數(shù)據(jù),發(fā)往 PCSetRX_Mode();if(nRF
6、24L01_RxPacket(RxBuf)R_S_Byte(who);ms(10000);for(i=0;iTX_PLOAD_WIDTH;i+)R_S_Byte(RxBufi);ms(10000);))發(fā)送1-uintconstADDRESS0ADR_WIDTH=0 x34,0 x43,0 x10,0 x10,0 x01;其余與雙工通信相同發(fā)送2-uintconstADDRESS1ADR_WIDTH=0 xc4,0 xc3,0 xc2,0 xc1,0 xc0;/頻道 1 接收地址其余與雙工通信相同以上就是簡(jiǎn)要的代碼。也是重要的地方。如果發(fā)送端要發(fā)送數(shù)據(jù)的話,可能在配置自動(dòng)應(yīng)答的接受地址時(shí)會(huì)遇到
7、一些問題。(因?yàn)槭且酝ǖ?0 作為應(yīng)答通道,而發(fā)送模式又必須使得接收發(fā)送地址一致,這樣給兩臺(tái)發(fā)送機(jī)發(fā)數(shù)據(jù)就要對(duì) 0 實(shí)時(shí)配置地址)筆者嘗試過配置,沒有成功,只好不配置了,都是這樣接收端無法接收到自動(dòng)應(yīng)答的信號(hào)24l01雙向通訊2010-11-1921:28一周的時(shí)間過去了,終于搞出來了雙向通訊,中間出了點(diǎn)莫名奇妙的情況,導(dǎo)致我迷惘了很久。上次發(fā)的頭文件和.c文件有個(gè)模式設(shè)置的選項(xiàng)。在做雙向通信的時(shí)候發(fā)現(xiàn)這個(gè)有點(diǎn)多余。所以就刪掉了,內(nèi)容也做了些小改動(dòng)。所以就只發(fā)修改的部分24l01.h這個(gè)文件和之前的一樣。只去掉#defineTMODE這幾行24l01.c修改了三個(gè)地方。分別是1、*/*NRF2
8、4L01初始化/*這里不用設(shè)置什么模式,等需要接受或發(fā)送數(shù)據(jù)時(shí)指定模式/*/voidinit_NRF24L01(void)us(100);CE=0;/chipenableCSN=1;/SpidisableSCK=0;/SpiclocklineinithighSPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);同本應(yīng)地址SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTHf/接遍!地址SPI_RW_Reg(WRITE_REG+EN_AA,0 x01);/頻道0自動(dòng)ACK應(yīng)
9、答允許SPI_RW_Reg(WRITE_REG+EN_RXADDR,0 x01);施許接收地址只有頻道0,如果需要多而道可以參考Page21SPI_RW_Reg(WRITE_REG+RF_CH,0);/設(shè)置信道工作為2.4GHZ;收安必須一致SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH)置掇收數(shù)據(jù)長(zhǎng)度,本次設(shè)置%32字節(jié)SPI_RW_Reg(WRITE_REG+RF_SETUP,0 x07);/設(shè)置發(fā)射速率為1MHZ發(fā)射功率為最大值0dB)2、/*/*函數(shù):voidSetRX_Mode(void)/*功能:數(shù)據(jù)接收配樂/*/voidSetRX_Mod
10、e(void)(CE=0;SPI_RW_Reg(WRITE_REG+CONFIG,0 x0f);/IRQ收發(fā)完成中斷響應(yīng),16位CRC,主接收CE=1;us(130);3、 /*/*函數(shù):voidnRF24L01_TxPacket(unsignedchar*tx_buf)/*功能:發(fā)送tx_buf中數(shù)據(jù)/*/voidnRF24L01_TxPacket(unsignedchar*tx_buf)(CE=0;/StandByI模式SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH裝/載接收端地址SPI_Write_Buf(WR_TX_
11、PLOAD,tx_buf,TX_PLOAD_WIDTH);/裝載數(shù)據(jù)SPI_RW_Reg(WRITE_REG+CONFIG,0 x0e);/IRQ收發(fā)完成中斷響應(yīng),16位CRC主發(fā)送CE=1;/置高CE激發(fā)數(shù)據(jù)發(fā)送us(10);以上就是全部的修改。這兩個(gè)文件同樣適用于單工通信。以下給出這次測(cè)試用的兩個(gè)主函數(shù)。為了方便與上次的文章對(duì)應(yīng)。這里還是以接收,發(fā)送區(qū)分。接收#includenrf24l01.h#includedelay.hucharTxBufTX_PLOAD_WIDTH=0 x55,0 xaa;*串口初始化*voidStartUART(void)/波特率2400SCON=0 x50;TM
12、OD=0 x20;TH1=0 xF3;TL1=0 xF3;PCON=0 x00;TR1=1;H*voidR_S_Byte(ucharR_Byte)SBUF=R_Byte;while(TI=0);/查詢法TI=0;通過用將接收到數(shù)據(jù)發(fā)送給PC端/*主函數(shù)*voidmain(void)uchari;ucharRxBufTX_PLOAD_WIDTH;init_NRF24L01();StartUART();ms(6000);while(1)/如果接收到數(shù)據(jù),發(fā)往PCSetRX_Mode();if(nRF24L01_RxPacket(RxBuf)for(i=0;iTX_PLOAD_WIDTH;i+)R_
13、S_Byte(RxBufi);/發(fā)送0 x55,0 xaa要求發(fā)送端發(fā)數(shù)據(jù)nRF24L01_TxPacket(TxBuf);/SPI_RW_Reg(WRITE_REG+STATUS,0XFF)加上這句后,會(huì)出現(xiàn)接收到幾組數(shù)據(jù)后停了B收的現(xiàn)象,疝因未知ms(130);/這個(gè)延時(shí)很重要,延時(shí)過短,數(shù)據(jù)包丟失。/延時(shí)過長(zhǎng),減慢速度,甚至無法接收(實(shí)驗(yàn)時(shí)出現(xiàn)的問題,原因未知)RxBuf0=0;RxBuf1=0;發(fā)送includenrf24l01.h#includedelay.hucharTxBufTX_PLOAD_WIDTH=0 x01,0 x02;voidmain()charRxBufTX_PLOA
14、D_WIDTH=0;init_NRF24L01();nRF24L01_TxPacket(TxBuf);ms(6000);while(1)SetRX_Mode();if(nRF24L01_RxPacket(RxBuf)/將收到的數(shù)據(jù)發(fā)回接收端檢驗(yàn)是否正確/如果設(shè)置的數(shù)據(jù)較長(zhǎng),應(yīng)使用for循環(huán)TxBuf0=RxBuf0;TxBuf1=RxBuf1;nRF24L01_TxPacket(TxBuf);SPI_RW_Reg(WRITE_REG+STATUS,0XFF);ms(90);/這個(gè)延時(shí)一樣很重要RxBuf0=0;RxBuf1=0;)以上就是這周忙活的東西了,高手不要見笑。PS:原先想要使用自動(dòng)重
15、發(fā)功能的,結(jié)果發(fā)現(xiàn)自動(dòng)重發(fā)的話,傳輸速率很慢,沒有延時(shí)的快。也可能是我自動(dòng)重發(fā)的延時(shí)沒設(shè)置好。另外最開始幾天一直在做中斷通信,如果使用IRQ上中斷來接受數(shù)據(jù),可以明顯減輕MCU勺負(fù)擔(dān)。可是我測(cè)試了幾天下來發(fā)現(xiàn)一個(gè)無語(yǔ)的結(jié)果。在中斷里讀出來的STATUS的值是0 x00,頓時(shí)心灰意冷。網(wǎng)上有其他人貌似做出來了,可惜我寫的跟他們一樣也不行啊一,不知道問題在哪。但有一點(diǎn)是肯定的:接收到數(shù)據(jù)時(shí)必然引起中斷。過幾天繼續(xù)貼出多機(jī)通信的代碼。nrf24l01的51驅(qū)動(dòng)程序2010-11-1318:58隨著物聯(lián)網(wǎng)時(shí)代的到來,無線通信技術(shù)日趨重要。nrf24l01是適合初學(xué)入門的無線模塊。于是乎我就一頭埋進(jìn)去,
16、苦干一周有余。發(fā)現(xiàn)網(wǎng)上的程序都是抄來抄去的,不甚寒心。抄也就算了,光抄錯(cuò)的!后來自己動(dòng)手研究,完成了SPI接口的操作,繼續(xù)攻克無線模塊,最終無果,只好再找代碼。終于找到了一個(gè)可以的。本來想直接貼出來的,但為了許多和我曾經(jīng)一樣迷茫的同胞可以順利進(jìn)入無線領(lǐng)域。我特意修改代碼,整理出nrf24l01.h與nrf24l01.c,一則便于模塊化管理,二則,便于使用,便于二次開發(fā)。同時(shí),增加了許多注釋。代碼中應(yīng)該還有許多不足的,甚至多余的東西,后續(xù)將會(huì)繼續(xù)發(fā)表一篇關(guān)于無線模塊開發(fā)的注意事項(xiàng)。/nrf24l01.h#ifndefNRF24L01_H#defineNRF24L01_H#include#defi
17、neTMODEtypedefunsignedcharuchar;typedefunsignedcharuint;*sbitCE=P1A0;3sbitSCK=P1A1;/5sbitMISO=P1A2;/7sbitCSN=P1A5;/4sbitMOSI=P1A6;/6sbitIRQ=P1A7;/8*#defineTX_ADR_WIDTH5/5uintsTXaddresswidth#defineRX_ADR_WIDTH5/5uintsRXaddresswidth#defineTX_PLOAD_WIDTH32/20uintsTXpayload#defineRX_PLOAD_WIDTH32/20uint
18、sTXpayload*配置收發(fā)狀態(tài),CRCK驗(yàn)?zāi)J揭约笆瞻l(fā)狀態(tài)自動(dòng)應(yīng)答功能設(shè)置可用信道設(shè)置收發(fā)地址寬度設(shè)置自動(dòng)重發(fā)功能設(shè)置工作頻率設(shè)置發(fā)射速率、功耗功能設(shè)置狀態(tài)寄存器發(fā)送監(jiān)測(cè)功能地址檢測(cè)頻道0接收數(shù)據(jù)地址頻道1接收數(shù)據(jù)地址*SPI-IO端口地址、數(shù)據(jù)長(zhǎng)度*NRF24L01寄存器指令#defineREAD_REG0 x00/#defineWRITE_REG0 x20/#defineRD_RX_PLOAD0 x61/#defineWR_TX_PLOAD0 xA0/#defineFLUSH_TX0 xE1/#defineFLUSH_RX0 xE2/#defineREUSE_TX_PL0 xE3/#d
19、efineNOP0 xFF/*讀寄存器指令寫寄存器指令讀取接收數(shù)據(jù)指令寫待發(fā)數(shù)據(jù)指令沖洗發(fā)送FIFO指令沖洗接收FIFO指令定義重復(fù)裝載數(shù)據(jù)指令保留寄存器地址*SPI(nRF24L01)#defineCONFIG0 x00/響應(yīng)方式#defineEN_AA0 x01/#defineEN_RXADDR0 x02/#defineSETUP_AW0 x03/#defineSETUP_RETR0 x04/#defineRF_CH0 x05/#defineRF_SETUP0 x06/#defineSTATUS0 x07/#defineOBSERVE_TX0 x08/#defineCD0 x09/#def
20、ineRX_ADDR_P00 x0A/#defineRX_ADDR_P10 x0B/0 x0C/頻道2接收數(shù)據(jù)地址0 x0D/頻道3接收數(shù)據(jù)地址0 x0E/頻道4接收數(shù)據(jù)地址0 x0F/頻道5接收數(shù)據(jù)地址0 x10/發(fā)送地址寄存器0 x11/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x12/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x13/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x14/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x15/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x16/接收頻道0接收數(shù)據(jù)長(zhǎng)度0 x17/FIFO棧入棧出狀態(tài)寄存器設(shè)置/*voidinit_NRF24L01(void);uintSPI_RW(uintuchar);ucharSPI_Read(
21、ucharreg);voidSetRX_Mode(void);uintSPI_RW_Reg(ucharreg,ucharvalue);uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars);uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars);unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf);voidnRF24L01_TxPacket(unsignedchar*tx_buf);/*#endif/nrf24l01.c#includenrf24l01.h#
22、includedelay.huintbdatasta;/狀態(tài)標(biāo)志sbitRX_DR=staA6;sbitTX_DS=staA5;sbitMAX_RT=staA4;uintconstTX_ADDRESSTX_ADR_WIDTH=0 x34,0 x43,0 x10,0 x10,0 x01;/本地地址uintconstRX_ADDRESSRX_ADR_WIDTH=0 x34,0 x43,0 x10,0 x10,0 x01;/接收地址*#defineRX_ADDR_P2#defineRX_ADDR_P3#defineRX_ADDR_P4#defineRX_ADDR_P5#defineTX_ADDR#d
23、efineRX_PW_P0#defineRX_PW_P1#defineRX_PW_P2#defineRX_PW_P3#defineRX_PW_P4#defineRX_PW_P5#defineFIFO_STATUS/nrf24l01.h結(jié)束/*NRF24L01初始化*/voidinit_NRF24L01(void)(us(100);CE=0;/chipenableCSN=1;/SpidisableSCK=0;/SpiclocklineinithighSPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);/g本地地址SPI_Write_B
24、uf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTHf/接遍!地址SPI_RW_Reg(WRITE_REG+EN_AA,0 x01);/頻道0自動(dòng)ACK應(yīng)答允許SPI_RW_Reg(WRITE_REG+EN_RXADDR,0 x01);施許接收地址只有頻道0,如果需要多而道可以參考Page21SPI_RW_Reg(WRITE_REG+RF_CH,0);/設(shè)置信道工作為2.4GHZ;收無必須一致SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH)置掇收數(shù)據(jù)長(zhǎng)度, 本次設(shè)3為32字節(jié)SPI_RW_Reg(WRITE_R
25、EG+RF_SETUP,0 x07);/設(shè)置發(fā)射速率為1MHZ發(fā)射加率為最大值0dB#ifdefRMODESPI_RW_Reg(WRITE_REG+CONFIG,0 x0f);/IRQ收發(fā)完成中斷響應(yīng),16位CRC,主接收#endif#ifdefTMODESPI_RW_Reg(WRITE_REG+CONFIG,0 x0E);/IRQ收發(fā)完成中斷響應(yīng),16位CRC,主接收#endif)/*/*函數(shù):uintSPI_RW(uintuchar)/*功能:NRF24L0酌SPI寫時(shí)序/*/uintSPI_RW(uintuchar)(.uintbit_ctr;for(bit_ctr=0;bit_ctr8
26、;bit_ctr+)/output8-bit(MOSI=(uchar&0 x80);/outputuchar,MSBtoMOSIuchar=(uchar1);/shiftnextbitintoMSB.SCK=1;/SetSCKhigh.uchar|=MISO;/capturecurrentMISObitSCK=0;/.thensetSCKlowagainreturn(uchar);/returnreaduchar/*/*函數(shù):ucharSPI_Read(ucharreg)/*功能:NRF24L0宿SPI時(shí)序/*/ucharSPI_Read(ucharreg)(.ucharreg_val
27、;CSN=0;/CSNlow,initializeSPIcommunication.SPI_RW(reg);/Selectregistertoreadfrom.reg_val=SPI_RW(0);/.thenreadregistervalueCSN=1;/CSNhigh,terminateSPIcommunication/*/*功能:NRF24L0慎寫寄存器函數(shù)/*/uintSPI_RW_Reg(ucharreg,ucharvalue)(一一uintstatus;CSN=0;/CSNlow,initSPItransactionstatus=SPI_RW(reg);/selectregister
28、SPI_RW(value);/.andwritevaluetoit.CSN=1;/CSNhighagainreturn(status);/returnnRF24L01statusuchar/*/*函數(shù):uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars)/*功能:用于讀數(shù)據(jù),reg:為寄存器地址,pBuf:為待讀出數(shù)據(jù)地址,uchars:讀出數(shù)據(jù)的個(gè)數(shù)/*/uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars)(uintstatus,uchar_ctr;return(reg_val);/returnreg
29、istervalueCSN=0;/SetCSNlow,initSPItranactionstatus=SPI_RW(reg);/Selectregistertowritetoandreadstatusucharfor(uchar_ctr=0;uchar_ctruchars;uchar_ctr+)pBufuchar_ctr=SPI_RW(0);/CSN=1;return(status);/returnnRF24L01statusuchar)/*/*函數(shù):uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars)/*功能:用于寫或據(jù):Z寄存器地址,pBuf
30、:為待寫入數(shù)據(jù)地址,uchars:寫入數(shù)據(jù)的個(gè)數(shù)/*/uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars)(一一uintstatus,uchar_ctr;CSN=0;/SPI使能status=SPI_RW(reg);for(uchar_ctr=0;uchar_ctruchars;uchar_ctr+)/SPI_RW(*pBuf+);CSN=1;/關(guān)閉SPIreturn(status);/)/*/*函數(shù):voidSetRX_Mode(void)/*功能:數(shù)據(jù)接收配A/*voidSetRX_Mode(void)CE=0;#ifdefTMODESPI_
31、RW_Reg(WRITE_REG+CONFIG,0 x0f);/IRQ收發(fā)完成中斷響應(yīng),16位CRC,主接收#endifCE=1;us(130);/*/*函數(shù):unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf)/*功能:數(shù)據(jù)讀取后放如rx_buf接收緩沖區(qū)中/*/unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf)unsignedcharrevale=0;sta=SPI_Read(STATUS);/讀取狀態(tài)寄存其來判斷數(shù)據(jù)接收狀況if(RX_DR)/CE=0;/SPISPI_Read_Buf(RD
32、_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);/readreceivepayloadfromRX_FIFObufferSPI_RW_Reg(WRITE_REG+STATUS,sta);/掇收至U數(shù)據(jù)后RX_DR,TX_DS,MAX_PT都置高為1,通過寫1來清楚中斷標(biāo)志returnrevale;/*/*函數(shù):voidnRF24L01_TxPacket(unsignedchar*tx_buf)/*功能:發(fā)送tx_buf中數(shù)據(jù)/*/voidnRF24L01_TxPacket(unsignedchar*tx_buf)CE=0;/StandByI模式SPI_Write_Buf(WR
33、ITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH裝/載向I攵端地址SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);/裝載數(shù)據(jù)#ifdefRMODESPI_RW_Reg(WRITE_REG+CONFIG,0 x0e);/IRQ收發(fā)完成中斷響應(yīng),16位CRC主發(fā)送#endifCE=1;/置高CE激發(fā)數(shù)據(jù)發(fā)送判斷是否接收到數(shù)據(jù)使能revale=1;/讀取數(shù)據(jù)完成標(biāo)志us(10);/nrf24101c結(jié)束文中用到的“delay.h”中一個(gè)us延時(shí),一個(gè)ms延時(shí),讀者可以自己寫。(由于晶振不同,延時(shí)函數(shù)不同,這里就不列出了)這兩個(gè)文件同時(shí)包含了收發(fā)模式。通過/模式選擇#defineRMODE/#defineTMODE進(jìn)行切換。以下順便給出接收,發(fā)送主函數(shù),便于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)廠房裝配式鋼結(jié)構(gòu)設(shè)計(jì)施工組織評(píng)估報(bào)告
- 《地質(zhì)年代與化石的關(guān)聯(lián):九年級(jí)地理教學(xué)教案》
- 文檔編寫與排版表格:文檔編寫規(guī)范與排版設(shè)計(jì)
- 網(wǎng)絡(luò)安全技術(shù)資格證明書IT行業(yè)(5篇)
- 一個(gè)陌生人幫助我記事作文(13篇)
- 建筑行業(yè)各專業(yè)工程驗(yàn)收表格
- 小學(xué)語(yǔ)文詞匯豐富訓(xùn)練:魯濱遜漂流記選段閱讀教案
- 智能網(wǎng)聯(lián)汽車技術(shù)概論(含實(shí)訓(xùn)任務(wù)書)課件 第一章:概述
- 縣域普通高中課程與教學(xué)內(nèi)容的優(yōu)化路徑
- 低空經(jīng)濟(jì)發(fā)展中的政策建議與戰(zhàn)略選擇
- 2025年高考物理廣西卷試題真題及答案詳解(精校打?。?/a>
- 2024-2025成都各區(qū)初二年級(jí)下冊(cè)期末數(shù)學(xué)試卷
- 2024年湖北省中考地理生物試卷(含答案)
- 2024年甘肅省天水市中考生物·地理試題卷(含答案)
- 超星爾雅學(xué)習(xí)通 數(shù)學(xué)大觀(北京航空航天大學(xué)) 章節(jié)測(cè)試含答案
- 醫(yī)療設(shè)備采購(gòu)流程圖
- 第五章 包殼材料
- HW50取力器說明書
- 行政賠償與行政補(bǔ)償課件
- 繼電器接觸器控制的基本線路.ppt
- FANUCPS和伺服報(bào)警號(hào)
評(píng)論
0/150
提交評(píng)論