OpenEdv-开源电子网

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

单线SPI通信在读数据怎么操作?

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-6-8
在线时间
3 小时
发表于 2015-9-15 11:14:28 | 显示全部楼层 |阅读模式
5金钱
这两天想试下用单线SPI来读6500的姿态角的,但是研究了几天都没太大进展,双线情况下的DMA方式已经成功了。

但是单线的情况下,我想读一个寄存器,那么按照双线的方式就是先发送 寄存器地址|0x80,然后发送一个0xff,返回的就是该寄存器的值了。

但是在单线传输下,我是这样想的:
       
[mw_shl_code=c,true]        SpiEnOutput();//设置为输出模式         while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位         {             retry++;             if(retry>200)return 0;         } SPI_MPU_CS = 0;         SPI_I2S_SendData(SPI2, Addr|0x80); //发送需要读的寄存器地址 while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); SpiEnInput();//设置为输入模式 while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); RecvDat[0] = SPI_I2S_ReceiveData(SPI2); // while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); RecvDat[1] = SPI_I2S_ReceiveData(SPI2); // [/mw_shl_code]
另外,接线我是将STM32的MOSI同时连接6500的MOSI和MISO引脚。这样接线没有问题吧。
请大家指导一下,待我测试完成我将代码分享出来供以后的人参考。谢谢大家了!

最佳答案

查看完整内容[请看2#楼]

回复【2楼】xuande: --------------------------------- 没有错的,已经测试成功了。就是这3根线一起。
创新电子科技,引领世界潮流
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-6-8
在线时间
3 小时
 楼主| 发表于 2015-9-15 11:14:29 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
没有错的,已经测试成功了。就是这3根线一起。
创新电子科技,引领世界潮流
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-6-8
在线时间
3 小时
 楼主| 发表于 2015-9-15 11:14:29 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
单线双向通信,你看手册有具体的说明的啊。
创新电子科技,引领世界潮流
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11577
金钱
11577
注册时间
2014-4-1
在线时间
1321 小时
发表于 2015-9-15 11:42:09 | 显示全部楼层

MOSI同时连接6500的MOSI和MISO引脚

两个逻辑输出短接?错得离谱。

SPI单线只能单向,双向通信没门。—— 但可以用模拟方式。


回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11577
金钱
11577
注册时间
2014-4-1
在线时间
1321 小时
发表于 2015-9-15 16:42:14 | 显示全部楼层
回复【4楼】师大的小强:
---------------------------------

没看过这个手册。
如果真的可以,内部肯定不是通常的SPI了,只是个外壳。
回复

使用道具 举报

48

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2015-4-6
在线时间
3 小时
发表于 2015-9-16 20:40:17 | 显示全部楼层
我也用了这个 单线双向通信 方式
回复

使用道具 举报

48

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2015-4-6
在线时间
3 小时
发表于 2015-9-16 20:42:25 | 显示全部楼层
直接设置成 输入,就可以等待数据的到来。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 16:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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