在线时间2220 小时
UID3253523
注册时间2016-3-21
NXP金币2866
该用户从未签到
超级版主
 
- 积分
- 24876
- 最后登录
- 2025-7-18
|
发表于 2017-12-8 13:27:54
|
显示全部楼层
楼主你好!不好意思,才看到你的问题,现在回答你的三个问题:
1. SPI_TransferWait 这个函数正如你所打开的那样。
其实就是写数据,写过之后读数据,没毛病。
你要知道SPI的协议,四根线:SCLK,MOSI,MISO,CS.
SCLK主机发送时钟, MOSI,主机数据出,从机数据入。 MISO, 主机数据入,从机数据出。
所以说,你每次写数据到MOSI,然后读是读这个时候MISO上的数据,发送和接收是同时的。
这个就是为什么加上读的数据,当然,如果你不想要接收的,你去掉读取等待也没问题。
2. 请看到,这个是读写函数,也及时先读MISO, 再写到MOSI。
也没问题,当然,如果你要只接收,不发送,那可以去读发送代码。
3. 你可以根据的自己的SPI协议,去取你要的数据,位置搞对就行了。
你可以发送命令的时候,不接受,好几个字节都发送,不加接收代码,等发完之后,再去接收也是可以的。
SPI的通信其实所有单片机几乎都是一样的。 |
|