但是我觉得楼主帖子中可能有个地方说的不太准确。
原帖里“而且网上的绝大多数例程都是这样用的,但是这实际上是读0X00寄存器指令”
我觉得这里0x00并不是读取0x00寄存器指令,因为此轮通讯还没有结束,也就是说SS还没有拉高。从机不会认为是读取0x00寄存器指令,而会认为是无用的数据,只是为了让MISO产生数据传输。只有当SS被拉高后,结束此轮通讯。当再次拉低SS,下一轮通讯开始,首个字节为0x00时,从机才会认为是要读取0x00寄存器数据。
手册上说:Every new instruction must be started by a high to low transition on CSN. (CSN就是楼主帖子中所说的SS)