標(biāo)題: 關(guān)于nrf24l01無線模塊,求助,新手謝謝了 [打印本頁]

作者: zae234234    時(shí)間: 2016-1-8 19:15
標(biāo)題: 關(guān)于nrf24l01無線模塊,求助,新手謝謝了
uchar SPI_RW_Reg(uchar reg, uchar value)
{
        uchar status;
          CSN = 0;                   // CSN置低,開始傳輸數(shù)據(jù)
          status = SPI_RW(reg);      // 選擇寄存器,同時(shí)返回狀態(tài)字
          SPI_RW(value);             // 然后寫數(shù)據(jù)到該寄存器
          CSN = 1;                   // CSN拉高,結(jié)束數(shù)據(jù)傳輸
          return(status);            // 返回狀態(tài)寄存器
}


這里說的狀態(tài)字是指??寫入寄存器地址時(shí),并返回狀態(tài)字,這個(gè)狀態(tài)字顯然不是寄存器里的值,那么問題來了,這個(gè)狀態(tài)字是什么有什么用??求助…………


uchar SPI_Read(uchar reg)
{
        uchar reg_val;
          CSN = 0;                    // CSN置低,開始傳輸數(shù)據(jù)
          SPI_RW(reg);                // 選擇寄存器
          reg_val = SPI_RW(0);        // 然后從該寄存器讀數(shù)據(jù)
          CSN = 1;                    // CSN拉高,結(jié)束數(shù)據(jù)傳輸
          return(reg_val);            // 返回寄存器數(shù)據(jù)
}

標(biāo)記的語句,主機(jī)上MOSI線應(yīng)該在上升沿全部輸出低電平,不會(huì)寫入從機(jī)里已經(jīng)選擇的寄存器么??  

也許狀態(tài)字是指從機(jī)工作在哪個(gè)狀態(tài),發(fā)射還是接收?還是掉電等模式??   第二個(gè)問題里   那句語句的意思是從里邊讀數(shù)據(jù)并全部將已經(jīng)選擇的寄存器里的值置為0么??這么理解對(duì)不??   新手有不對(duì)的   請(qǐng)諒解哈…………


作者: 王朗的誘惑    時(shí)間: 2016-1-10 19:17
SPI_RW函數(shù)是根據(jù)SPI時(shí)序?qū)懙模琋RF24L01的數(shù)據(jù)手冊(cè)上都有,仔細(xì)看看就知道那兩句話是干什么了。SPI的讀和寫是在一起的。這兩個(gè)函數(shù)也是按照數(shù)據(jù)手冊(cè)這樣寫的。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1