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.

[参考译文] TMS570LS0432:CANBUS TX 固定为8字节数据包

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1243382/tms570ls0432-canbus-tx-fixed-to-8-byte-packets

器件型号:TMS570LS0432

您好!  

为什么为 CANBUS 生成的卤素码硬编码要发送8个字节? 是否可以通过某种方法发送多达8个字节、即每个 CAN 消息2个数据字节? 我在这里包含了我一直在看的函数:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uint32 canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data)
{
uint32 i;
uint32 success = 0U;
uint32 regIndex = (messageBox - 1U) >> 5U;
uint32 bitIndex = 1U << ((messageBox - 1U) & 0x1FU);
/* USER CODE BEGIN (7) */
/* USER CODE END */
/** - Check for pending message:
* - pending message, return 0
* - no pending message, start new transmission
*/
if ((node->TXRQx[regIndex] & bitIndex) != 0U)
{
success = 0U;
}
else
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

此致、

阿利斯特

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

    尊敬的 Alister:

    [quote userid="568126" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1243382/tms570ls0432-canbus-tx-fixed-to-8-byte-packets 为什么 CANBUS 生成的卤素代码硬编码要发送8个字节? 是否可以通过某种方法发送多达8个字节、即每个 CAN 消息2个数据字节? 我在这里包含了我一直在看的函数:

    是的、它使用8个字节进行了硬编码、但您可以在 DLC (数据长度代码)中提及您的有效数据字节。

    如果数据长度码小于8、报文对象剩余的字节可能会被未定义的值覆盖。

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    感谢您的回答、如何在仍然使用 HAL 实施的情况下、按每个数据包设置 DLC 寄存器?

    此致、

    阿利斯特

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

    尊敬的 Alister:

    感谢您回复我,如何在仍使用 HAL 实施的情况下以每个数据包为基础设置 DLC 寄存器?

    HAL 不提供 API 来更新 DLC。 但您可以编写一个。

    (+) TMS570LC4357:如何使用 Halcogen 生成的 CAN 驱动程序来传输 DLC 小于8字节的 CAN 消息? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --

    谢谢。此致、
    Jagadish。