标题:
MCU SPI通讯程序问题,返回状态是什么值,望指教?
[打印本页]
作者:
zcwjzwd
时间:
2021-1-29 22:27
标题:
MCU SPI通讯程序问题,返回状态是什么值,望指教?
SPI在发送一个字节的同时会接收一个字节,Reg为寄存器地址,status为接收到的返回状态,这个返回状态是返回的什么值呢?
//参考官方文档
uint SPI_RW(uint byte)
{
uchar i;
for(i=0;i<8;i++) // output 8-bit
{
if(byte&0x80)
MOSI=1;
else
MOSI=0;
byte<<=1;
SCK=1;
if(MISO)
byte|=0x01;
SCK=0;
// ..then set SCK low again
}
return byte; // return read uchar
}
//参考官方文档
uint SPI_W_Reg(uchar reg, uchar value)
{
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
}
作者:
人人学会单片机
时间:
2021-1-30 10:23
具体的 你可以看看 人人学会单片机视频教程的 无线模块章节,在原子哥罔可以观看
作者:
munuc_w
时间:
2021-1-30 10:37
按如下调整后应该是正确的,大家意见如何?
uint SPI_W_Reg(uchar reg, uchar value)
{
uint status;
CSN = 0; // CSN low, init SPI transaction
SPI_RW(reg); // select register
status = SPI_RW(value); // ..and write value to it..
CSN = 1; // CSN high again
return(status); // return nRF24L01 status uchar
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1