打印
[STM32]

spi从机如何解析命令再回复?

[复制链接]
1787|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenjinyu|  楼主 | 2021-12-9 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SPI从机 的方式是主机来时钟了,数据就会被传出去。那么我要如何解析主机来的数据呢?比如串口来了一串数据,我要先解析发来的命令码是什么,然后串口再发送出去数据。那SPI从机这边怎么弄呢?从机收到了一堆数据,解析,发现是需要的命令。准备发送,但是主机没有时钟了,数据也就发送不出去了。怎么样才能收到正确命令后发送给主机数据?

使用特权

评论回复

相关帖子

沙发
chenjinyu|  楼主 | 2021-12-9 11:20 | 只看该作者
我现在的情况是在主机读取从机数据的过程中,主机又下发了一条协议命令。这时候对我从机来说分不清协议命令还是空数据了?要不然的话我就得实时检测帧头,太费CPU了

使用特权

评论回复
板凳
lyjian| | 2021-12-9 12:42 | 只看该作者
先双方定好协议帧

使用特权

评论回复
地板
qishi00| | 2021-12-9 16:38 | 只看该作者
我们的办法比较笨,从机处理完接收到的数据帧后,通过IO拉低电平,通知主机,主机再过来取数据

使用特权

评论回复
5
xch| | 2021-12-9 18:51 | 只看该作者
让主机在帧尾多发1个空闲字节。主机收到应答字节就继续发空闲字节直到应答完毕

使用特权

评论回复
6
chenjinyu|  楼主 | 2021-12-10 08:22 | 只看该作者
qishi00 发表于 2021-12-9 16:38
我们的办法比较笨,从机处理完接收到的数据帧后,通过IO拉低电平,通知主机,主机再过来取数据 ...

我现在的情况是在主机读取从机数据的过程中,主机又下发了一条协议命令。这时候对我从机来说分不清协议命令还是空数据了?

使用特权

评论回复
7
ayb_ice| | 2021-12-10 08:34 | 只看该作者
主机每发送个字节延时一下,给从机时间处理即可

使用特权

评论回复
8
andreilei| | 2021-12-10 09:20 | 只看该作者
《电子的奇妙世界》用定格动画的方式讲述发生在电子世界的故事,呈现元器件们的奇妙冒险!
整容二极管
晶振的噩梦
谁杀死了LED
保险丝的葬礼
妄自尊大的发光二极管
————
电子的奇妙世界,视频公开课
https://open.21ic.com/open/lesson/5766

使用特权

评论回复
9
chenjinyu|  楼主 | 2021-12-17 16:13 | 只看该作者
参考ST的HAL  现在可以做成这样,加入同步头。主机只有在收到同步头后才会往下发信息,从机也会给主机发同步头,同时只有收到同步头指令后才会往下走,不然就死循环一直在接收判断。如果主机读取从机数据的过程中,主机又下发了一条协议命令。则从机会把之前一帧的数据发给主机。但是主机会判断同步头。因此对主机来说会一直会发同步头。知道从机将前一帧的数据传完。之后同步头匹配上,协议对上

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

170

帖子

4

粉丝