一下面的函数为例
uchar SPI_RW_Reg(BYTE reg, BYTE value)
{
uchar status;
CSN = 0; // CSN low, init SPI transaction
status = SPI_RW(reg); // select register
SPI_RW(value); // ..and write value to it..
CSN = 1; // CSN high again
return(status); // return nRF24L01 status byte
}在函数名的第一个参数写成是reg是不准确的,应该是操作命令+reg的形式,这在参考例子中调用该函数时,实参就应该是后者的形式。
在第一个SPI_RW(reg)使用时其实就如同你给别人汇款,你首先要确定你要做的操作,在这里即是写入操作命令,而后你要确定你要输入对方的银行账号,在这里就是寄存器的地址。
在第二个SPI_RW(value)就如同你要汇款的金额,因为你前面已经输过账号,所以你汇入得钱不会跑到其它地方去,这里的输入值也一样。
一周热门 更多>