求助 看不懂一段nrf24l01的读写寄存器的函数

2019-03-24 18:18发布

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); //
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zgyadfq
1楼-- · 2019-03-24 22:06
 精彩回答 2  元偷偷看……
zgyadfq
2楼-- · 2019-03-25 01:59
status=SPI_RW(reg);
for(uchar_ctr=0; uchar_ctr<uchars; uchar_ctr++) //
SPI_RW(*pBuf++);
还有这段 也是同上面 看不懂是怎样写入数据的
zgyadfq
3楼-- · 2019-03-25 04:22
求助 真的理解不了这段程序
Li_Lei
4楼-- · 2019-03-25 09:21
 精彩回答 2  元偷偷看……
Li_Lei
5楼-- · 2019-03-25 11:26
zgyadfq 发表于 2014-5-26 22:25
status=SPI_RW(reg);
for(uchar_ctr=0; uchar_ctr

uchars是数据个数,pBuf是字符指针,每次调用SPI_RW写入一个字节,总共uchars-1个
zgyadfq
6楼-- · 2019-03-25 13:33
那这条指令运行的时候 要的值是已经放在reg这个寄存器里了吗

一周热门 更多>