第一次接触模块化,就遇到如此问题:
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的值)?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>