找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于C51使用SPI协议进行双机通行的问题

查看数: 2988 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-3-5 22:39

正文摘要:

目标:两块完全相同的C51单片机使用SPI协议进行通信。电脑A通过串口助手发送字符至单片机A的SBUF,然后单片机A通过SPI协议发送至单片机B的SBUF,并显示在电脑B的串口助手上。问题:SPI协议无法实现。 代码如下: # ...

回复

ID:485724 发表于 2019-3-7 01:10
应该是主从机的协议没有设置好
ID:466164 发表于 2019-3-6 23:43
这个比较复杂:
1.从硬件讲传输距离是不是太远,
2.你B单片机接收程序是否正常,
3.B单片机是否能给电脑B发送,
4.你就一个程序,无法判断,应该两个系统程序,单片机A程序,单片机B程序。
ID:94031 发表于 2019-3-6 13:25
Benjia 发表于 2019-3-6 10:49
恩恩,是这样的。
确实是学习SPI的项目

用逻辑分析仪抓一下SPI时序看一下。
ID:476313 发表于 2019-3-6 10:53
问题出在SPI上,问问大家根据下面的时序图,SPI配置代码有问题吗?
ID:476313 发表于 2019-3-6 10:49
xuyaqi 发表于 2019-3-6 09:20
他的意思,单片机A通过SPI协议,发送至单片机B的SPI接收,然后转到本单片机B串口SBUF,向电脑B的串口助手 ...

恩恩,是这样的。
确实是学习SPI的项目
ID:476313 发表于 2019-3-6 10:47
xuyaqi 发表于 2019-3-6 09:05
你这实验环节很多,任何一个环节出错就会实验失败,所以得一各一个环节搞,先看电脑A通过串口助手发送字符 ...

电脑A通过串口助手发送字符至单片机A的SBUF正常
单片机A通过SPI协议发送至单片机B的SBUF失败
问题应该处在SPI的配置上面,但是网上也没有合适的解决方案
ID:94031 发表于 2019-3-6 09:20
笨笨兔 发表于 2019-3-6 08:20
肯定是你的程序有不合适的地方,分部分来调试吧。
有点不明白:单片机A通过SPI协议,发送至单片机B的SBUF ...

他的意思,单片机A通过SPI协议,发送至单片机B的SPI接收,然后转到本单片机B串口SBUF,向电脑B的串口助手发送。估计是学习SPI的实验项目。
ID:94031 发表于 2019-3-6 09:05
你这实验环节很多,任何一个环节出错就会实验失败,所以得一各一个环节搞,先看电脑A通过串口助手发送字符至单片机A的SBUF正常吗,再看单片机A通过SPI协议发送至单片机B的SBUF正常吗,最后才是显示在电脑B的串口助手上正常吗,不是光看程序能解决的。
ID:158375 发表于 2019-3-6 08:20
肯定是你的程序有不合适的地方,分部分来调试吧。
有点不明白:单片机A通过SPI协议,发送至单片机B的SBUF,这个是怎么回事。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表