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.

[参考译文] LAUNCHXL-F28069M:适用于 CC2640R2的 SPI 协议

Guru**** 2460850 points
Other Parts Discussed in Thread: LAUNCHXL-F28069M

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1503602/launchxl-f28069m-spi-protocol-with-cc2640r2

器件型号:LAUNCHXL-F28069M

工具/软件:

我有两个 CC2640R2电路板可通过灵活通信。  其中一个连接了游戏手柄、并将数据传输到另一个 CC2640R2板。 第二个电路板 I 通过 SPIB 引脚连接到 LaunchXL-F28069M。  有一些数据肯定会通过,但它似乎不是很正确。   在运行 Simple_Central 的器件中、我必须获取传入的数据并进行一些位移、因为数据仅以8位的形式提供、以便确保数字正确。   

下面是传递数据的两个 PuTTY 屏幕




这是我在简单中央程序中为通过蓝牙获得要匹配的数字的数据所做的代码片段


然后、我尝试转换 proj_lab10d 中的数据以旋转2个电机。   
我确保更改 HAL_setupSpiB 的代码、因为我知道您是否有2个电机、第二个电机使用 SPI。   



当我查看 proj_lab10d 中的寄存器时、SPIRXBUF 中的数字会不断变化。  但它们并不十分正确。  当操纵杆处于中间位置时、数字约为 1500、在这里您可以看到它们约为5000。  我当时认为我需要进行一些位移、但 SPIRXBUF 是一个 uint16_t  那么、它是否可以容纳整个数字呢?   



这是电路板设置

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

    您好:

    查看您的帖子、问题是 SPI 似乎没有正确地解释 ADC 数据、是这样吗? 首先、我要设置一个 Rx 中断来正确记录用于测试的数据、例如、放入任意大大小的数组中。 在该中断中、对本应接收的数据进行解码并将其存储在数组中。 查看这些数据、让我知道 它与您预期的距离有多远。

    此外、我将仔细检查您如何对要发送到该 Write_Joystick_Data () func 中的 C2000的数据进行编码。

    鉴于您正在查找接近1500的数字、一目了然、您似乎看到了错误格式的正确信息。 5382 (以10为底)= 0x1506

    此致、
    Jason Osborn

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

    我真的想起来了。  我移动了位以在 CC2640R2代码中获得正确的数字、只需反转这些位即可在 f28069代码中获得正确的数字。