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.

[参考译文] CCS/TMS320F28335:无法通过 CAN 通信发送浮点值

Guru**** 2595780 points
Other Parts Discussed in Thread: TMS320F28335

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/671685/ccs-tms320f28335-unable-to-send-float-values-through-can-communication

器件型号:TMS320F28335

工具/软件:Code Composer Studio

大家好、  

我一直在2个 DSP (TMS320F28335)之间使用 CAN 通信。 但是 、当我尝试通过 CAN 发送浮点值时、接收端仅接收整数部分

例如:如果我发送浮点值、例如48.253、则另一端仅接收48个 我尝试将源端的整数值和浮点值分开、然后发送数据、但即使这样也不起作用。 后来我了解到 CAN 邮箱的类型为 uint32 (无符号整数32)。 我们是否有更改这些邮箱数据类型的配置? 或者、我是否有任何其他方法可以通过 CAN 发送浮点值。 请向我推荐解决方案。

谢谢!!

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

    不能通过 CAN 发送浮点值。 通常、浮点值乘以10/100/1000、然后通过 CAN 发送。 在接收部分执行除法运算。 为了实现更优化、最好选择左移和右移操作。

    此致、
    Gautam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Gautham、
    CAN 模块不知道(或无关)定点或浮点。 它所做的是在添加协议要求的字段(MSGID、填充位、CRC 等)之后、获取邮箱 RAM 中的数据并传输它们。 正如 Gautam 指出的、数据的格式化是应用软件的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Gautam、它帮助了我
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢!! 先生