极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: shenhaiyu

两个Arduino之间进行SPI通信

[复制链接]
发表于 2014-3-25 09:13:19 | 显示全部楼层
shihaipeng04 发表于 2014-3-24 22:53
我开始没有共地,误码奇高。可能之前是因为公用同一电脑勉强还可以传输,所以乱码了还能坚持。偶尔会死机。 ...

弱弱的问下,为什么要共地?这个回路是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-25 10:09:00 | 显示全部楼层
shihaipeng04 发表于 2014-3-24 22:53
我开始没有共地,误码奇高。可能之前是因为公用同一电脑勉强还可以传输,所以乱码了还能坚持。偶尔会死机。 ...

恭喜你解决问题了,或许换一条好点的导线,以及一个好点的电源就不会误码了
回复 支持 反对

使用道具 举报

发表于 2014-4-14 20:15:42 | 显示全部楼层
本帖最后由 leicheng 于 2014-4-14 20:17 编辑

请教:1.程序里面的SPI 中断:ISR (SPI_STC_vect)和普通串口IRQ中断的区别是什么?
          2. 这个实验中SPI的通信速率是多少?最大可以达到多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-14 22:56:23 | 显示全部楼层
leicheng 发表于 2014-4-14 20:15
请教:1.程序里面的SPI 中断:ISR (SPI_STC_vect)和普通串口IRQ中断的区别是什么?
          2. 这个实验 ...

这个没有测试啊,不知道如何测试才好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-14 23:11:22 | 显示全部楼层
leicheng 发表于 2014-4-14 20:15
请教:1.程序里面的SPI 中断:ISR (SPI_STC_vect)和普通串口IRQ中断的区别是什么?
          2. 这个实验 ...

3Mbps已经很厉害了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-15 14:39:30 | 显示全部楼层
leicheng 发表于 2014-4-14 20:15
请教:1.程序里面的SPI 中断:ISR (SPI_STC_vect)和普通串口IRQ中断的区别是什么?
          2. 这个实验 ...

第一个问题是在库里处理的,看看库中的函数吧,我没仔细研究过
回复 支持 反对

使用道具 举报

发表于 2014-7-3 09:55:59 | 显示全部楼层
本帖最后由 lab01 于 2014-7-3 15:55 编辑

最近买了2块pro mini板,研究一下SPI通讯,于是搜到LZ的帖子,期间有些失误导致通信失败,于是去LZ提供的英文网址学习了一遍,现将体会写下来,供后来者参考,不对之处请拍砖。

一、首先,对接线不理解,MISO<-->MISO,MOSI<-->MOSI,因为,SPI通信协议是全双工的,从这一点上说,似乎应该是MISO<-->MOSI,MOSI<-->MISO,有点像网络TX<-->RX,RX<-->TX。其实这样理解是不对的。主机在任何时刻只和SS为LOW的从机通信(也就是,只有SS引脚为LOW的从机才响应主机的呼唤),当主机向从机写数据时,通过MOSI(Master  Out)发送到从机,对应相连的从机上的引脚也是MOSI(Slave In); 从机向主机写入数据时,用的是MISO<-->MISO,对从机而言,是Slave Out,对主机而言是Master In.

二、LZ将主机(master)和从机(slave)定义反了,因为,调用SPI.begin()中将SPI模式定义为master.
(原文:It then enables SPI mode with the hardware in "master" mode.)

还在继续学习,有许多不明白的地方等待弄明白。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-7 18:51:02 | 显示全部楼层
lab01 发表于 2014-7-3 09:55
最近买了2块pro mini板,研究一下SPI通讯,于是搜到LZ的帖子,期间有些失误导致通信失败,于是去LZ提供的英 ...

多谢指正!!!!
回复 支持 反对

使用道具 举报

发表于 2014-8-14 12:23:29 | 显示全部楼层
uno和pro mini SPI通讯可以吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-16 15:31:13 | 显示全部楼层
zhongjun_86 发表于 2014-8-14 12:23
uno和pro mini SPI通讯可以吗

没试过啊,你可以试试
回复 支持 反对

使用道具 举报

发表于 2015-1-10 17:19:35 | 显示全部楼层
谁有更详细的资料啊,最近搞了块 SPI的屏,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-7 19:35:50 | 显示全部楼层
太行摄狼 发表于 2015-1-10 17:19
谁有更详细的资料啊,最近搞了块 SPI的屏,

看来没人研究过啊
回复 支持 反对

使用道具 举报

发表于 2015-3-29 11:59:02 | 显示全部楼层
spi的库函数是自带的吗?我的为什么没有?不仅如此,我的连servo也没有,不知道怎么回事,麻烦解答一下,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-3 10:01:27 | 显示全部楼层
狙击手ggg 发表于 2015-3-29 11:59
spi的库函数是自带的吗?我的为什么没有?不仅如此,我的连servo也没有,不知道怎么回事,麻烦解答一下,谢 ...

你的ArdinoIDE不全呗,自己上官网下载完整版去
回复 支持 反对

使用道具 举报

发表于 2015-5-15 18:26:25 | 显示全部楼层
发现一个问题,在从机代码中删除  Serial.print(c);  主机会显示不完整的  hello world,然后如果去掉Serial.print(c); 加个delay(1) 又正常了,楼主知道这是怎么回事吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 10:59 , Processed in 0.047933 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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