OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13404|回复: 32

酷贴申请--虚拟SPI完成多机通信

[复制链接]

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2014-11-19 14:55:23 | 显示全部楼层 |阅读模式
我一直是“伸手党”,现在终于发帖给大家分享了。之前有做多机通信的项目,在网上查了好多资料没有很好用的。这个是我自己通过网上多方搜索然后总结出来的。和大家分享下,高手别拍砖啊。这个只能通信,不能驱动SD卡什么的。芯片和芯片之间的通信用这个程序应该是没有什么问题的。
具体硬件连接如下:
         主机             从机1            从机2            从机3
       SCLK PB3  ---    SCLK PB13  ---    SCLK PB13  ---    SCLK PB13  
       MOSI PB15 ---    MISO PB14  ---    MISO PB14  ---    MISO PB14
       MISO PB14 ---    MOSI PB15  ---    MOSI PB15  ---    MOSI PB15
       nSS1 PA11 ---    SS1  B12  
       nSS2 PA8  ---------------------    SS1  B12
       nSS3 PB12 ---------------------------------------    SS1  B12

// Header:   虚拟SPI通信测试
// File Name: main.c
// Author: fanghui
// Date: 2014-11-19
免责声明:此代码本人只测试了主机发送给从机。从机接收后通过串口打印返回。
          其他功能没有测试(包括主机接收和同时收发)。
 此代码你可以用来学习和交流。不得商用!应用此程序酿成事故由你自己承担!
 本人不负责维护和支持此代码!如有疑问和看不懂别来烦我!  ^_^
 openedv论坛好友可以随便下载和转给他人参阅学习。


建议几点
1、建议把看门狗都打开防止发送时死机。
2、还有就是从机的外部中断要等主机的myPSI函数初始化完成后再初始化(不等主机初始化完毕的话从机就进入中断了)。
3、注意从机是下降沿进入中断的。
代码写的很规范,大家慢慢看。呵呵。欢迎大家多来评论。觉得好给我点个赞。^_^.......
原子哥是不是又要出黑科技了呀。^_^...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2014-11-19 14:57:33 | 显示全部楼层
文件没有上传上来。再试一次。

SPI多机通信.rar

1.15 MB, 下载次数: 1592

原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-11-19 15:00:43 | 显示全部楼层
有时间再看,mark,顶一下
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-11-19 15:12:28 | 显示全部楼层
顶楼主!!!mark!
不用谢了……
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-20 00:31:40 | 显示全部楼层
不错,cool
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-11-20 08:31:25 | 显示全部楼层
感谢分享!!!

驱动SD卡应该是可以的,在51上我就是用模拟的SPI驱动的,在32上面我还没测试,相信也是可以的,有空帮你测试一下
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2014-11-20 10:09:33 | 显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
先谢了。^_^
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13118
金钱
13118
注册时间
2012-11-26
在线时间
3813 小时
发表于 2014-11-20 10:12:07 | 显示全部楼层
mark一下   有时间看  谢谢楼主分享
学无止境
回复 支持 反对

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
发表于 2014-11-20 10:28:58 | 显示全部楼层
学习了,谢谢分享
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2014-11-20 10:46:24 | 显示全部楼层
感谢分享 牛逼牛逼
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-9-21
在线时间
6 小时
发表于 2014-11-20 10:52:34 | 显示全部楼层
马了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-11-20 12:40:14 | 显示全部楼层
回复【10楼】xouou_53320:
---------------------------------
其实老师也很牛逼的,就是不分享而已,哈哈
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2014-11-20 17:57:19 | 显示全部楼层
光发主题求救不发帖子给大家分享,就是传说中的“伸手党”啊。^_^---我终于不是伸手党了。哈哈
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2015-1-19 10:07:15 | 显示全部楼层
回复【10楼】xouou_53320:
---------------------------------
这位解惑老师啥时候也给大家分享下啊。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-1-19 10:23:19 | 显示全部楼层
回复【14楼】fanghuiopenedv:
---------------------------------
呵呵   水平有限啊   只能打打酱油   见笑了
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-8-15
在线时间
4 小时
发表于 2015-1-19 10:49:40 | 显示全部楼层
好东西......
回复 支持 反对

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
金钱
352
注册时间
2012-11-8
在线时间
44 小时
发表于 2015-1-19 11:48:06 | 显示全部楼层
谢谢分享!下载学习了
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

277

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2015-1-19 13:18:27 | 显示全部楼层
mark,谢谢
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-1-26
在线时间
6 小时
发表于 2015-2-2 19:43:16 | 显示全部楼层
这个是MINI的还是战舰的?我看头文件,貌似是MINI的吧?
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2015-2-3 11:21:47 | 显示全部楼层
回复【19楼】449117724:
---------------------------------
是在mini板的范例上修改的,实际上用的是公司的电路板。公司的电路板上有四个stm32芯片。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-1-26
在线时间
6 小时
发表于 2015-2-3 16:10:25 | 显示全部楼层
亲,我在用SPI做双机通信,就是两个战舰板子进行通信,我想用中断方式进行,但是我不知道哪一个是SPI1的中断线,能指点下么?
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-1-26
在线时间
6 小时
发表于 2015-2-3 16:10:58 | 显示全部楼层
你的例程是查询方式吧???
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2015-2-3 18:09:38 | 显示全部楼层
回复【21楼】449117724:
---------------------------------
我这个是虚拟的SPI,就是用普通管脚来模拟SPI通信,用的是外部中断。两个芯片通信的话,可以考虑用硬件SPI来通信了的。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2015-9-14 10:24:04 | 显示全部楼层
纠正一下,连接的功能管脚应该是这样的:
主机         从机1          从机2         从机3 
 SCLK  ---    SCLK   ---    SCLK   ---    SCLK    
 MISO  ---    MISO   ---    MISO   ---    MISO  
 MOSI  ---    MOSI   ---    MOSI   ---    MOSI  
 nSS1  ---    NSS     
 nSS2  -----------------     NSS   
 nSS3  --------------------------------   NSS 
因为是虚拟的管脚,所以这些管脚的功能和硬件默认功能是没有关系的。
最近比较忙,等忙完手上的事情后我会把虚拟spi双向通信的传上来的。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

4

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2015-12-4
在线时间
17 小时
发表于 2015-12-4 15:19:07 | 显示全部楼层
我说一楼的连接示意图怎么MOSI 接 MISO呢,楼主最后纠正错误的行为很值得赞赏。。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
47
金钱
47
注册时间
2013-12-2
在线时间
19 小时
发表于 2015-12-5 15:48:20 | 显示全部楼层
mark!顶
回复 支持 反对

使用道具 举报

4

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2014-7-14
在线时间
11 小时
发表于 2016-2-26 11:00:10 | 显示全部楼层
好帖子,刚好要用,先收了
回复 支持 反对

使用道具 举报

8

主题

571

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2919
金钱
2919
注册时间
2016-5-13
在线时间
185 小时
发表于 2016-5-26 15:04:57 | 显示全部楼层
mark mark
回复 支持 反对

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-7-25 14:28:44 | 显示全部楼层
这个东西可靠吗?
回复 支持 反对

使用道具 举报

19

主题

490

帖子

4

精华

论坛元老

Rank: 8Rank: 8

积分
5190
金钱
5190
注册时间
2016-7-21
在线时间
1148 小时
发表于 2018-7-25 16:57:15 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-7-25 17:58:23 | 显示全部楼层
mark一下
回复 支持 反对

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4519
金钱
4519
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-25 22:04:18 | 显示全部楼层
MARK,可能会用到。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
发表于 2018-7-26 17:18:49 | 显示全部楼层
这个没什么难度
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 20:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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