Java数据通道移位_SPI从站数据移位4位

我正在使用连接到DW1000模块的nRF52832芯片 . 问题是从DW1000请求数据时,缺少第一个字节 . 该芯片应该发送0xDECA0130,但我收到0xCA0130FF . 当我使接收缓冲区变大时,丢失的0xDE出现(传输以最低字节开始) . 我的问题是,这是怎样以及为什么会发生这种情况 .

配置

SPI配置是根据DW1000的数据表,使用nRF SPI驱动程序完成的 . 这包括

SPI默认频率设置为1MHz

SPI芯片选择引脚配置为低电平有效

使用SPI模式0

MSB首次传输

在开始通信之前,DW1000通过将其复位引脚拉低并在释放之前保持低电平足够长的时间来复位 . 重置后,主机等待一段时间让模块启动 . 之后,第一件事是将所述值读取为32位寄存器值 .

nRF设置

nRF设置包括

SPI和SPI0使能

SPI0 easyDMA已禁用

读取该值包括具有所述配置的 nrf_drv_spi_transfer 和4字节的缓冲区长度

已采取步骤

我已经尝试了以下的事情,没有解决问题:

更改SPI频率

更改SPI模式*

复位后等待时间增加

传输之间的等待时间增加

更改MISO上拉配置*

手动芯片选择(包括上拉配置*)

用(*)表示的步骤我知道它们不应该解决问题 .

不幸的是它是一个嵌入式设备,因此我无法访问CLK和MISO引脚以连接示波器 .

我很感激有关此事的任何意见 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值