我不明白 Zigbee 模块 (MRF24J40MA) 发送的帧

问题描述

我目前正在做一个基于 PIC (24FJ128GA010) 和 Zigbee MRF24J40MA 射频模块之间的 SPI 通信的项目。我按照数据表中的步骤对 PIC 进行编程以初始化 Zigbee 模块。 PIC 将预期的帧发送到模块以配置寄存器(由帧分析器检查)。

对于每次读/写操作,前8位对应要修改的寄存器地址,后8位对应要输入寄存器的值。 前 2 个命令使模块的软件复位:

  • 一个命令:'reset the RF module' -> 执行此命令后没有返回任何帧(我认为该模块已被软件正确关闭
  • 第二个命令:'remove the RF module from reset' -> 在这个命令之后模块开始发送帧

但是 Zigbee 模块返回的数据我不知道其含义。此外,当我读入修改后的寄存器时,模块返回一个与我在寄存器中输入的值不匹配的十六进制值。

我遵循了该地址第 30 页提供的数据表(最小化)的初始化: https://datasheet.octopart.com/MRF2...heet-142369.pdf

在我最终发送我的程序之前,有没有人知道我的问题的解决方案?

有关信息:

  • 我在初始化之前使用 RESET 引脚进行了硬复位
  • 文档推荐的 SPI 通信速度为 250kbps,但结果是相同的,速度要低得多
  • 我遵守特殊的截止日期(例如在硬重置之后)
  • PIC 侧的 SPI 接口处于模式 00 以匹配 RF 模块的 SPI 配置
  • CS 引脚在初始化开始时被置于低电平,然后不再被触动(如果在 2 个命令之间回到高电平,则 RF 模块不发送任何帧)立>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)