15712|4

4

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

stm32 16位数据SPI通信 [复制链接]

      我最近在用stm32f103与一个器件进行SPI通信,这个器件要求16位数据格式。我用ST官方固件库编的程序,使用SPI1,频率是64分频,stm32作为主机,尝试读取器件ID。通过示波器观察,时钟信号正确,但是发送数据貌似有错位。我发的是0x5600,但从片选的下降沿观察MOSI,发现数据是0x0056这样的经过循环移位后的数据,不同波尔率下观察到的发送数据不同,比如0x0560。我注意到虽然stm32号称支持16位SPI通信,但是移位寄存器竟然是8位的,不知道究竟是怎么进行16位数据移位的。
     请问有没有做过SPI16位数据通信的大大,可以帮助小弟?在此十分感谢!
此帖出自stm32/stm8论坛

最新回复

和8位一样,只是分为两次即可。  详情 回复 发表于 2013-6-17 07:55

点评

是8位和16位可选的,I2s可以32位,要是配置没有错误也可能是数据大小端的问题,颠倒一下就是了  详情 回复 发表于 2013-6-14 11:03
对16位数据进行操作时,可以采用两次8位的方法进行。。。  详情 回复 发表于 2013-6-9 10:34
点赞 关注
 

回复
举报

4997

帖子

19

TA的资源

裸片初长成(初级)

沙发
 

回复 楼主 wkelake 的帖子

对16位数据进行操作时,可以采用两次8位的方法进行。。。
此帖出自stm32/stm8论坛

点评

多谢关注。 请问如果是分两次发的话,具体是怎样操作的? 我试了写8位-读-写8位-读-组合数据 这样的操作,并不能读到数据  详情 回复 发表于 2013-6-10 19:27
 
个人签名我的博客
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 zhaojun_xf 的帖子

多谢关注。
请问如果是分两次发的话,具体是怎样操作的?
我试了写8位-读-写8位-读-组合数据 这样的操作,并不能读到数据
此帖出自stm32/stm8论坛
 
 

回复

4005

帖子

0

TA的资源

版主

4
 

回复 楼主 wkelake 的帖子

是8位和16位可选的,I2s可以32位,要是配置没有错误也可能是数据大小端的问题,颠倒一下就是了
此帖出自stm32/stm8论坛
 
 
 

回复

4997

帖子

19

TA的资源

裸片初长成(初级)

5
 
和8位一样,只是分为两次即可。
此帖出自stm32/stm8论坛
 
个人签名我的博客
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表