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.

[参考译文] AM5728:使用 C 代码编程 AM5728 PRU 驱动器 DCAN。

Guru**** 2680515 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/980297/am5728-using-c-code-programming-am5728-pru-driver-dcan

器件型号:AM5728

您好,

用途: 使用 C 代码编程 AM5728 PRU 驱动器 DCAN。

IDE:CCS10.1.1.00004。

故障: PRU 无法通过映射地址(始终返回0x00000000)直接操作 DCAN 寄存器、GPIO (LED)电平已以这种方式操作。

PRU 是否有任何限制可以直接访问 DCAN 的外设地址?

下面是我的工作方式:(DCAN1_CTL_REG 始终获取0x00000000)

#define HWREG (x)         (*(volatile unsigned int *)(x)))

#define DCAN1_CTL        0x4AE3C000

#define DCAN1_CTL_INIT_ENTER_INIT_MODE_MASK          0x00000001

void 函数(void)

unsigned int DCAN1_CTL_REG = 0;

/*获取 DCAN 寄存器值*/

DCAN1_CTL_REG = HWREG (DCAN1_CTL);

/*设置 DCAN 寄存器*/

HWREG (DCAN1_CTL)|= DCAN1_CTL_INIT_ENTER_INIT_MODE_MASK;

//等待 DCAN1进入初始化模式*/

执行{

DCAN1_CTL_REG = HWREG (DCAN1_CTL);

} while (!(DCAN1_CTL_REG 和 DCAN1_CTL_INIT_ENTER_INIT_MODE_MASK));

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

    您好!

    PRU 访问外设寄存器没有限制。

    在进行寄存器访问之前、能否确保启用 DCAN1?

    您可以检查 CM_WKUPAON_DCAN1_CLKCTRL 寄存器@ 0x4AE07888。

    此致、
    斯坦利

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

    您好、 Stanley、

    感谢您的回复!  

    我似乎可以访问 DCAN1寄存器。 然而、它不能输出 CAN 信号(我用 差 分信号连接 DSP28335和 AM5728、CAN 信号可以在两个 DSP28335之间工作)。  您是否有哪个 PRU 驱动不带操作系统的 DCAN 的示例? 再次感谢。

    此致、

    GD