我想我是否以及如何使用 DMA 在 CAN1上进行多缓冲区自动发送。 我不确定如何设置它、如果可能(以及它是否会加快速度)。
我不理解的第一件事是 、可以设置一个 DMA 通道、以便在单个或多个 CAN 消息框/不同消息 ID 上发送。 ...? 目视:
[包含具有不同 CAN ID 的消息的缓冲器]--> DMA 单通道--> CAN1。
即使使用相同的消息框, 我也不知道如何在这里使用 DMA,因为我需要根据 DCAN API 更新消息 ID _evas_单个消息,这种方式使目的无法实现。
而且、如果我必须将每条消息传递到不同的消息框、似乎是相同/或更糟糕的。 与该 CAN 接口进行交互感到尴尬、或者我不了解如何将其与 DMA 配合使用。
(这里是否有一个带有 DMA 的直接 CAN RAM 模式、它可以直接传输到 DCAN1存储器而无需使用命令寄存器...?)
如何设置它、这样您就不必中断缓冲区中的每个 CAN 消息、而只需在所有消息都发送时中断一次?
请输入任何良好的示例代码。



