This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TRF7970A:读取寄存器-对要发送的值感到困惑

Guru**** 654100 points
Other Parts Discussed in Thread: TRF7970A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1160889/trf7970a-reading-registers---confused-on-what-values-to-send

器件型号:TRF7970A

大家好、

我正在使用 SPI 与我的 pic 和 TRF7970A 通信、我可以通过执行以下操作成功读取注册表值、但不确定我为什么需要这些准确值

    Local_8 = writeSPI2(0x83);	// why is it not 0x03
    Local_8 = writeSPI2(0x80);	
    delay_ms(1);    
    
    Local_8 = writeSPI2(0x40);	// why do I have to send 0x40 to get registry address 0x00
    Local_8 = writeSPI2(0x00);	 
    
    Local_8 = writeSPI2(0x41);	// why do I have to send 0x42 to get registry 0x01
    Local_8 = writeSPI2(0x00);	

    Local_8 = writeSPI2(0x42);	// why do I have to send 0x42 to get registry 0x02
    Local_8 = writeSPI2(0x00);	
    
    etc....... for all the other values in the reminaing registry

第一个问题  

  • 为什么我需要发送0x83而不是0x03进行软件初始化?
  • 为什么我需要在每个读取命令中添加0x40。 例如、要获取注册表1 (ISO 控制)、我需要发送0x41?
  • 是否有一个文档详细说明了要发送哪些代码用于读取、写入块读取/写入等、

提前感谢  

JT

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的-对于其他任何为这个而奋斗的人、我想了。 TRF7970A 的表6.11解释了原因

    例如、您希望读取地址注册表0x01 (十六进制)或00000001二进制文件。 您需要以二进 制01000001发送0x41 (十六进制)-请注意第二个1。 这表示读取地址。  

    如果需要发送命令、则需要在二进制值的开头有一个1。 例如、0x03变为0x83