uint SPI_RW_Reg(uchar reg, uchar value)//NRF24L01读写寄存器函数
{
uint 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 uchar
}
uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) //用于写数据:reg为寄存器地址,pBuf:为待写入数据地址,uchars:写入数据的个数
{
uint status,uchar_ctr;
CSN=0; //SPI使能
status=SPI_RW(reg);
for(uchar_ctr=0; uchar_ctr<uchars; uchar_ctr++) //
SPI_RW(*pBuf++);
CSN=1; //关闭SPI
return(status); //
}
此帖出自
小平头技术问答
for(uchar_ctr=0; uchar_ctr<uchars; uchar_ctr++) //
SPI_RW(*pBuf++);
还有这段 也是同上面 看不懂是怎样写入数据的
uchars是数据个数,pBuf是字符指针,每次调用SPI_RW写入一个字节,总共uchars-1个
一周热门 更多>