两片stm8s用spi通信,主机采用查询TXE标志发送一个数据包,从机收到数据包后解析并返回一个数据包。
问题如下:
1.我看到大部分关于主机的例程,接收数据时,均采用查询方式,且都是发送完马上查询接收。只是因为代码简单嘛?
2.对于主机接收数据有一个地方我很疑惑,从机把数据放入发送缓冲寄存器后,必须主机往SCK线上发送时钟,从机的数据才会送出吧,同时,主机才会接收数据。那么采用双线单向传输时,主机发送完数据后,SCK线上是不是就没有时钟了?到底主机发送时钟的机制是如何的?
3.主机发送和接受都需要时钟,spi接口空闲时,SCK线上应该没有时钟吧,当往主机的发送寄存器写数据,主机开始往SCK上发时钟,并发送数据。发送完成以后,主机是不是就停止时钟了?我的理解对吗?
4.主机的接收采用中断方式是否可行?因为不想让主机等待接收。
5.SPI半米以内的通讯距离是否可靠?
|