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/TM4C123GH6PM:周期中的 Simpletx 变化

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/864999/ccs-tm4c123gh6pm-simpletx-change-in-periodicity

器件型号:TM4C123GH6PM

工具/软件:Code Composer Studio

IM 使用简单的 TX 示例程序进行 CAN 总线通信、而我尝试将数据的周期性更改为2.5ms、但并未改变。

我更改了简单的延迟、但它没有反映出来。 如何将数据周期更改为2.5ms。  

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

    请记住、简单延迟是循环执行之间的时间。 在环路内、您将发送 CAN 帧并打印出 UART。 大部分时间用于打印 UART。 我将 SimpleDelay()更改为2.5ms  

    void
    SimpleDelay (void)
    {
    //
    //延迟周期2.5ms
    //
    SysCtlDelay (16000000 / 1200);
    }
    

    然后捕获了逻辑分析仪上的 CAN 传输。 帧大约每10ms 出现一次。

    然后我注释掉 UARTprintf()语句并重新运行代码。 现在、您可以看到它接近每2.5ms 一次。

    但它仍然不是确切的2.5ms。 原因是 CAN 传输后开始的简单延迟。 发送 CAN 帧的时间被添加到周期中。 如果您需要更精确的时序、应该每2.5ms 有一个计时器中断并启动 CAN 传输。 这是在500KB 时 CAN 帧的样子。