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.

[参考译文] CC2530:OFFIF 无法设置为1

Guru**** 2538950 points
Other Parts Discussed in Thread: CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1086611/cc2530-ovfif-cannot-set-to-1

部件号:CC2530

大家好,团队

客户提出的问题可能需要您的帮助:

问题:CC2530计时器1要求通道0在模具中运行,并且在所有中断关闭的情况下,只有当计数值与目标值匹配时才设置 CH0IF。 该规范显示 OFFIF 也将设置为1。 请帮您检查此案例? 谢谢。

此致,

樱桃

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

    Cherry,您好!

    T1STAT.OFFIF 的行为取决于 T1CTL 计时器1操作模式,该模式不会在代码摘录中共享。  如提到 CH0IF 时所示,似乎使用了模块模式,在这种情况下,当通道0中断情况发生时,会设置 CH0IF。   计时器1计数器溢出中断标志 OFFIF 仅在计数器在自由运行或模块模式下达到终端计数值(0xFFFF)时设置,当达到零时,在向上和向下计数模式下计数。  仅当计时器启动时其值高于 T1CC0时,OFFIF 才会在模块模式下设置,否则它 永远不会达到0xFFFF。  我建议启用中断以服务这些中断标志。

    此致,
    瑞安

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

    图中以红色圈出的零件描述是否正确? 我认为,在这个模式下,OFFIF 将只设为1一次,而且不一定会出现,但说明书中的描述误导了许多人。

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

    谢谢! 如您所述,在模块模式下,OFFIF 被随机设置为1。 设置 T1CC0的值后,如果 T1CC0的值小于计数器,当计数器达到0xFFFF 时,OFFIF 将设置为1。 此时,我将 OFFIF 设置为0,计数器将再次从0x0000开始计数,之后 OFFIF 将永远不会设置为1。 是这样吗?

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

    许多中国书籍都是这样写的。 当计数值达到存储在 T1CC0寄存器中的值时,它将溢出,设置 T1IF 和 OFFIF,然后触发中断。 我认为应该将其描述如下。 当计数值达到存储在 T1CC0寄存器中的值时,它将溢出,设置 T1IF 和 CH0IF,然后触发中断。 这是正确的吗?

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

    您的理解是正确的。  在模块模式的第一次迭代期间,OFFIF 只能设置一次,该设置基于计时器启动时 T1CC0寄存器的当前值。  否则,CH0IF 应该是在 T1IF 中触发的此操作模式的唯一中断。

    此致,
    瑞安

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

    非常感谢。

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

    非常感谢。