freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

無線溫度濕度采集系統(tǒng)及設(shè)計(jì)-資料下載頁

2025-01-16 16:31本頁面
  

【正文】 } 21 unchar code TxAddr[]={0x34,0x43,0x10,0x10,0x01}。//發(fā)送地址 /*****************狀態(tài)標(biāo)志 *****************************************/ unchar bdata sta。 //狀態(tài)標(biāo)志 sbit RX_DR=sta^6。 sbit TX_DS=sta^5。 sbit MAX_RT=sta^4。 /*****************SPI 時(shí)序函數(shù) ******************************************/ unchar NRFSPI(unchar date) { unchar i。 for(i=0。i8。i++) // 循環(huán) 8 次 { if(dateamp。0x80) MOSI=1。 else MOSI=0。 // byte 最高位輸出到 MOSI date=1。 // 低一位移位到最高位 SCLK=1。 if(MISO) // 拉高 SCK, nRF24L01 從MOSI 讀入 1 位數(shù)據(jù),同時(shí)從 MISO 輸出 1 位數(shù)據(jù) date|=0x01。 // 讀 MISO 到 byte 最低位 SCLK=0。 // SCK 置低 } return(date)。 // 返回讀出的一字節(jié) } /**********************NRF24L01 初始化函數(shù)*******************************/ void NRF24L01Int() { NRFDelay(2)。//讓系統(tǒng)什么都不干 CE=0。 CSN=1。 SCLK=0。 IRQ=1。 } /*****************SPI 讀寄存器一字節(jié)函數(shù) *********************************/ unchar NRFReadReg(unchar RegAddr) { unchar BackDate。 CSN=0。//啟動(dòng)時(shí)序 NRFSPI(RegAddr)。//寫寄存器地址 BackDate=NRFSPI(0x00)。//寫入讀寄存器指令 CSN=1。 return(BackDate)。 //返回狀態(tài) } 無線溫度濕度采集系統(tǒng)的設(shè)計(jì) 22 /*****************SPI 寫寄存器一字節(jié)函數(shù) *********************************/ unchar NRFWriteReg(unchar RegAddr,unchar date) { unchar BackDate。 CSN=0。//啟動(dòng)時(shí)序 BackDate=NRFSPI(RegAddr)。//寫入地址 NRFSPI(date)。//寫入值 CSN=1。 return(BackDate)。 } /*****************SPI 讀取 RXFIFO 寄 存 器 的 值********************************/ unchar NRFReadRxDate(unchar RegAddr,unchar *RxDate,unchar DateLen) { //寄存器地址 //讀取數(shù)據(jù)存放變量 //讀取數(shù)據(jù)長(zhǎng)度 //用于接收 unchar BackDate,i。 CSN=0。//啟動(dòng)時(shí)序 BackDate=NRFSPI(RegAddr)。//寫入要讀取的寄存器地址 for(i=0。iDateLen。i++) //讀取數(shù)據(jù) { RxDate[i]=NRFSPI(0)。 } CSN=1。 return(BackDate)。 } /*****************SPI 寫 入 TXFIFO 寄 存 器 的 值**********************************/ unchar NRFWriteTxDate(unchar RegAddr,unchar *TxDate,unchar DateLen) { //寄存器地址 //寫入數(shù)據(jù)存放變量 //讀取數(shù)據(jù)長(zhǎng)度 //用于發(fā)送 unchar BackDate,i。 CSN=0。 BackDate=NRFSPI(RegAddr)。//寫入要寫入寄存器的地址 for(i=0。iDateLen。i++)//寫入數(shù)據(jù) { NRFSPI(*TxDate++)。 } CSN=1。 return(BackDate)。 } /*****************NRF 設(shè) 置 為 發(fā) 送 模 式 并 發(fā) 送 數(shù) 據(jù)******************************/ void NRFSetTxMode(unchar *TxDate) { //發(fā)送模式 CE=0。 NRFWriteTxDate(W_REGISTER+TX_ADDR,TxAddr,TX_ADDR_WITDH)。//寫寄存器指令 +P0 地址使能指令 +發(fā)送地址 +地址寬度 NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH)。//為了應(yīng)答接收設(shè)備,接收通道 0 地址和發(fā)送地址相同 23 NRFWriteTxDate(W_TX_PAYLOAD,TxDate,TX_DATA_WITDH)。//寫入數(shù)據(jù) /******下面有關(guān)寄存器配置 **************/ NRFWriteReg(W_REGISTER+EN_AA,0x01)。 // 使能接收 通道 0 自動(dòng)應(yīng)答 NRFWriteReg(W_REGISTER+EN_RXADDR,0x01)。 // 使能接收通道 0 NRFWriteReg(W_REGISTER+SETUP_RETR,0x0a)。 // 自動(dòng)重發(fā)延時(shí)等待 250us+86us,自動(dòng)重發(fā) 10 次 NRFWriteReg(W_REGISTER+RF_CH,0x40)。 // 選擇射頻通道 0x40 NRFWriteReg(W_REGISTER+RF_SETUP,0x07)。 // 數(shù)據(jù)傳輸率 1Mbps,發(fā)射功率 0dBm,低噪聲放大器增益 NRFWriteReg(W_REGISTER+CONFIG,0x0e)。 // CRC 使能, 16 位 CRC 校驗(yàn),上電 CE=1。 NRFDelay(5)。//保持 10us 秒以上 } /*****************NRF 設(shè) 置 為 接 收 模 式 并 接 收 數(shù) 據(jù)******************************/ //接收模式 void NRFSetRXMode() { CE=0。 NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH)。 // 接收設(shè)備接收通道 0 使用和發(fā)送設(shè)備相同的發(fā)送地址 NRFWriteReg(W_REGISTER+EN_AA,0x01)。 // 使能接收通道 0 自動(dòng)應(yīng)答 NRFWriteReg(W_REGISTER+EN_RXADDR,0x01)。 // 使能接收通道 0 NRFWriteReg(W_REGISTER+RF_CH,0x40)。 // 選擇射 頻通道 0x40 NRFWriteReg(W_REGISTER+RX_PW_P0,TX_DATA_WITDH)。 // 接收通道 0 選擇和發(fā)送通道相同有效數(shù)據(jù)寬度 NRFWriteReg(W_REGISTER+RF_SETUP,0x07)。 // 數(shù)據(jù)傳輸率 1Mbps,發(fā)射功率 0dBm,低噪聲放大器增益 NRFWriteReg(W_REGISTER+CONFIG,0x0f)。 // CRC 使能, 16 位 CRC 校驗(yàn),上電,接收模式 CE = 1。 NRFDelay(5)。 } /**************************** 檢測(cè)是否有接收到數(shù)據(jù)******************************/ void CheckACK() { //用于發(fā)射模式接收應(yīng)答信號(hào) sta=NRFReadReg(R_REGISTER+STATUS)。 無線溫度濕度采集系統(tǒng)的設(shè)計(jì) 24 // 返回狀態(tài)寄存器 if(TX_DS) NRFWriteReg(W_REGISTER+STATUS,0xff)。 // 清除 TX_DS 或 MAX_RT 中斷標(biāo)志 } /************************* 接收數(shù)據(jù)*********************************************/ void GetDate() { sta=NRFReadReg(R_REGISTER+STATUS)。//發(fā)送數(shù)據(jù)后讀取狀態(tài)寄存器 if(RX_DR) // 判斷是否接收到數(shù)據(jù) { CE=0。//待機(jī) NRFReadRxDate(R_RX_PAYLOAD,RevTempDate,RX_DATA_WITDH)。// 從 RXFIFO讀取數(shù)據(jù) 接收 4 位即可,后一位位結(jié)束位 display(0x0a,RevTempDate[0])。 //濕度顯示 display(0x0b,RevTempDate[1])。 display(0x4a,RevTempDate[2])。 //溫度顯示 display(0x4b,RevTempDate[3])。 NRFWriteReg(W_REGISTER+STATUS,0xff)。 // 接收 到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT 都置高為 1,通過寫 1 來清楚中斷標(biāo) CSN=0。 NRFSPI(FLUSH_RX)。//用于清空 FIFO !!關(guān)鍵??!不然會(huì)出現(xiàn)意想不到的后果?。?!大家記住??! CSN=1。 } //NRFWriteReg(W_REGISTER+STATUS,0xff)。 // 接收到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT 都置高為 1,通過寫 1 來清楚中斷標(biāo) }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1