nrf24l01简单问题

2019-07-16 01:58发布

第一次接触模块化,就遇到如此问题:
uchar SPI_RW(uchar byte)//写一个字节到nRF24L01,并返回此时nRF24L01的状态及数据{         ucharbit_ctr;      for(bit_ctr=0;bit_ctr<8;bit_ctr++)   //先写字节的高位,再写低位      {                MOSI = (byte & 0x80);      //MOSI取byte最高位                byte = (byte << 1);          //byte左移一位                SCK = 1;                  //SCK从高到低时开始写入                byte |= MISO;                            //获取MISO位.从MOSI写命令的同时,MISO返回nRF24L01的状态及数据                SCK = 0;      }    return(byte);}
请问byte |= MISO;是如何把MISO返回的,如果返回不是直接把MISO赋值给一个变量???为什么非要将miso与byte或在赋给byte,这样一来不就影响了把byte写进nrf24l01(在byte移位之后改变了byte的值)?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。