关于cc1100 的程序,有一个地方求解释
//*****************************************************************************************//函数名:void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count)
//输入:地址,读出数据后暂存的缓冲区,读出配置个数
//输出:无
//功能描述:SPI连续写配置寄存器
//*****************************************************************************************
void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count)
{
INT8U i,temp;
temp = addr | READ_BURST; //写入要读的配置寄存器地址和读命令
CSN = 0;
while (MISO);
SpiTxRxByte(temp);
for (i = 0; i < count; i++)
{
buffer = SpiTxRxByte(0);
}
CSN = 1;
}
这个地方temp = addr | READ_BURST;是什么意思,是不是把连续读的控制信息和地址合起来呢,但是这样地址不就变了吗 你应该仔细看看数据手册,burst是连续读取多个寄存器的值 因为它的地址头只有低六位代表的是地址,高二位其中第7位代表BURST访问控制,第8位代表写/读寄存器控制,所以说地址是不变的
页:
[1]