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/TMS570LS3137:FlexRay

Guru**** 2589265 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/611360/ccs-tms570ls3137-flexray

器件型号:TMS570LS3137

工具/软件:Code Composer Studio

当我使用 Code Composer Studio v7尝试 TMS570LS31x FlexRay 示例代码时、我对分配给所附 Fray_PST 寄存器的值感到困惑。

为什么 分配值0xFFFFFFFF 的指令会导致寄存器全0?  我是否错过了一些基本知识?

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

    >>为什么分配值0xFFFFFFFF 的指令被输出以使寄存器全为0? 我是否错过了一些基本知识?
    这取决于寄存器;有些寄存器是"只写"的、这意味着对它们的任何写入都执行预期的函数、但任何读取返回零。 当"1"被写入时、其他类型的寄存器被清零-这在中断标志寄存器中很常见。

    我进行了快速搜索、但无法在 SPNU499b 上找到该特定的寄存器组、但我怀疑它是第13.3.27节中的 RTIINTFLAG。

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

    您好、Rafael、

    你的是对的。 谢谢你。  我的问题与23.19.2.2.2有关。

    此致、

    奥斯汀

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

    [引用用户="Austin Hu49"> 为什么分配值0xFFFFFFFF 的指令会使寄存器接收全0?[/引用] 状态中断寄存器(SIR)是"特殊"的、因为写入1会清除相应的位:

    这意味着向 SIR 写入0xFFFFFFFF 会将写入时置位的所有位清零、SIR 随后将读作全零、直到下一次事件置位其中一个位。