完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我最近使用STM32作为控制器,采集ADIS16445的数据。但是再通过SPI通信读取Port ID这里出现了问题,希望有人能帮忙解决,或给些建议。问题描述如下:
这是我编写的读取Port ID部分的代码: 将0x5600拆分成两个字节发送给ADIS16445,之后再读取两个字节,拼接出接收到的数据。 如此循环下去,STM32通过串口连接电脑,打印获取到的Port ID ,进行显示。 接下来是具体的问题,我在电脑上查看串口助手,并不能收到稳定准确的Port Id(0x403D)。 返回下面的内容: 有时返回的是0X000,有时返回的是0xffff,极少数情况下能够接受到正确的Port ID(0x403D) 接下来我使用示波器开始排除错误:
每次发送两个字节的数据,所以CS有两次低电平时段,没有问题。
发送一个字节需要8个脉冲,也没问题。
DIN引脚循环输出DIN = 0101 0110 0000 0000 = 0x5600,没问题
以上三个引脚的波形都正确,但是DOUT输出的波形确是方波,而不是我们期望的Port ID DOUT = 0100 0000 0011 1101 = 0x403D = 16,445,但这可以解释为什么我接收到的一段时0xffff,一段是0x0000,如此一直循环。但极少情况下能够接受到0X403D。 下面是我采集数据的实物图: 现在的情况是,我通过STM32向ADIS16445发送的内容都是正确的,但是ADIS16445的输出却不是期望的。 我觉得不是硬件连接的问题,没有短路或者接错线的情况,SPI通信也没问题,然而我也想不出还有哪里出错了。 真心的希望有人能帮我解决一下这个问题,或者给出一些建议。 再次感谢! |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2401 浏览 1 评论
8118 浏览 0 评论
1937 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17319 浏览 0 评论
【罗姆传感器评估板试用体验连载】罗姆传感器整合进同一个示例程序
21961 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 06:07 , Processed in 0.587280 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号