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/TMS570LC4357:TMS570LC4357

Guru**** 2477135 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/674740/ccs-tms570lc4357-tms570lc4357

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

工具/软件:Code Composer Studio

你好

我 一直在尝试使用 halcogen 和 CCS 从 canREG1发送 CAN 消息。 我还将它们包含在 CCS 中。 我的 CCS 中的主代码如下所示:

#include "hL_sys_common.h"
#include "HL_CAN.h"
#include "hL_system.h"
#include "hL_sci.h"
#include "HL_ESM.h"


#define CAN canREG1
#define D_COUNT 9.

uint8_t TX_data1[D_count]={'h'、'e'、'l'、'o'、'o'、'o'、'o'、'o'、'o'、'0'};
uint32_t checkPackets (uint8_t * src_packet、uint8_t * dst_packet、uint32_t psize);

void main (void)

canInit();

canTransmit (CAN、canMESSAGE_BOX1、TX_DATa1);


while (1)         /*连续显示*/

 canIoTxGetBit(Can);


uint32_t checkPackets (uint8_t * src_packet、uint8_t * dst_packet、uint32_t psize)

uint32_t err=0;
uint32_t cnt=psize;

while (cnt -)

if ((* src_packet++)!=(* dst_packet++))

ERR++;/*数据错误*/


返回(错误);

void canMessageNotification (canBASE-t *节点、uint32_t MessageBox)

返回;

void canErrorNotification (canbase_t *节点、uint32_t 通知)

返回;

void esmGroup1通知(esmBASE-t * ESM、uint32通道)

返回;

void esmGroup2通知(esmBASE-t * ESM、uint32通道)

返回;

但我仍然不知道为什么我无法在使用   canIoTxGetBit(Can)函数从 canREG1 TX 引脚(即 J10 - 45)发送的终端中看到 msg。

此外、我完全确定我的 halcogen 程序中没有任何问题。

plz 帮助我解决问题。

谢谢

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

    您将消息从 CAN1传输到 CAN 总线、另一个 CAN 节点是什么? 是该 LC4357还是另一个器件的 CAN2?

    canIoTxGetBit(Can)有什么作用? 我需要了解有关您的 CAN 网络设置的详细信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Manepp、

    您是否已解决问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个节点是使用 CAN 总线上的 MCP2515连接到 Arduino uno。 但我需要知道为什么我无法在使用 halcogen 生成的 canIoTxGetBit 函数传输的终端上看到 msg。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Manideep、您好!

    DCAN 模块的 CAN_RX 引脚可用作通用 IO 引脚。 寄存器 DCAN RIOC 用于启用或禁用 RX 引脚的 DCAN 功能。 寄存器 DCAN TIOC 用于启用或禁用 TX 引脚的 DCAN 功能。

    如果 t 处于 GIO 模式、canIoTxGetBit()将返回 TX 引脚的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Q J Wang、

    这是否意味着当  我将 canIoTxGetBit()函数用作 CAN 模块而不是 GPIO 引脚模式时,我无法使用它。 如果是,那么我将如何能够看到我获得的输出。 另外、plz 指定用于在 CCS 终端中查看 o/p 的函数。

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

    否、此功能仅用于在 TX 引脚处于 GIO 模式时返回 TX 引脚电平。 如果您想看到 DCAN 消息、可以使用另一个 CAN 节点来接收消息、也可以使用环回模式。 在回送模式下、CAN 内核使用从 Tx 输出到 Rx 输入的内部反馈。 传输的消息被视为已接收的消息、如果它们通过接受过滤、则可以存储到消息对象中。 CAN 内核不考虑 CAN_RX 输入引脚的实际值。 仍然可以在 CAN_TX 引脚上监控传输的消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    那么、有没有任何函数在我要发送的 CCS 终端上显示 DCAN (非 GPIO 模式)消息。 我们将如何知道消息是否从 TMS570的 canTX 和 canRX 传输到我要发送到的 Arduino 总线。 我想检查 CCS 上的所有内容、而不是 Arduino IDE 上的所有内容。

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

    ES 寄存器中的 TxOK 位显示消息是否已成功传输。 如果要查看已测试的数据、但不使用测试模式(环回等)、则必须探测 CAN 总线或检查另一个节点才能看到。