首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单片机与单片机的SPI通信

单片机与单片机的SPI通信
EN

Stack Overflow用户
提问于 2010-05-27 20:21:26
回答 4查看 2.3K关注 0票数 0

我正在做一些阅读,甚至在我的微控制器上得到了一个“主”SPI。这是我的问题,基本上,如果主机想要初始化对我们写入SSPBUF的从机的写入,我们如何控制从机的响应?对于我来说,数据表似乎并不是很清楚这种情况下事件的顺序。

即,主机将一个字符放入SSPBUF,这将启动SPI模块向从机发送数据,在移位期间,从机返回一个字节。

在从机端,有没有什么东西告诉您有传入的数据,您可以先写入SSPBUF,然后再接受数据?

在主机有机会发起传输之前,您是否必须向SSPBUF写入您希望发回的第一个“返回值”?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-03 09:05:00

你想在处理从机芯片选择的GPIO线上使用一个中断。确保从机有足够的时间处理此中断,并在时钟开始之前加载输出数据寄存器。

某些SPI模块禁止使用GPIO -您需要检查您的SPI模块是否具有处理芯片选择的功能,或者仅根据GPIO活动启用该模块。

票数 1
EN

Stack Overflow用户

发布于 2010-06-03 08:51:16

通常,我过去使用SPI所做的是从主机向从主机发送2个字节,两者之间的延迟最小。主机发送:"X - Y“,其中"X”是希望从从机读取的变量,而"Y“实际上只是一个用来对从机的响应进行时钟输出的虚拟变量。同时,当从设备接收到"X“时,它会得到一个中断,查找要放入其输出缓冲区中的值,而当它接收到"Y”时,对其数据包的响应将计时到主机。

票数 1
EN

Stack Overflow用户

发布于 2010-05-28 22:56:10

无论您的微控制器是什么,三个可能是与接收SPI数据相关联的ISR,以及一个寄存器,在该寄存器中可以访问已接收的数据并将其复制到局部变量中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2920999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档