工具与软件:
尊敬的专家:
我的客户正在 MSP430FR2155上测试 timer_b_ex1_continuousModeCCR0

他发现、如果将计时器 CCR0的周期从 TB0设置为几微秒、将不会有 CCR0中断
如果他将计时器 CCR0的周期设置为 毫秒、 CCR0中断是正常的。
对此问题有何建议?
谢谢!
LEO
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.
工具与软件:
尊敬的专家:
我的客户正在 MSP430FR2155上测试 timer_b_ex1_continuousModeCCR0

他发现、如果将计时器 CCR0的周期从 TB0设置为几微秒、将不会有 CCR0中断
如果他将计时器 CCR0的周期设置为 毫秒、 CCR0中断是正常的。
对此问题有何建议?
谢谢!
LEO
我在 FR2355 (Launchpad)上看不到这种行为。 我导入了示例并将(仅限) compare_value 更改为50、所看到的时间跨度约为62ms。
探测 P1.0:

我能够通过 compare_value=125获得一个较短的跨度(~120us)、从而了解 ISR 运行所需的时间。
我能够使用 compare_value=25、将(整个) ISR 替换为:
TB0CCR0 += COMPARE_VALUE;
P1OUT ^= BIT0;
我不确定我们的做法有何不同。
[编辑:细微澄清。]
我这里没有我的设备、但上面的示波器迹线指示62ms (不是62us)[*]。 我的其他实验表明——用示例代码——你不会比大约120us (compare_value=125)更好[*]、因为这大约是 ISR 需要多长时间。 他们还建议了一种方法(不同的 ISR 编码),可以达到大约25us [*]。
我没有遇到任何从未调用 ISR 的情况。
更笼统地说:这里的目标是什么? 此示例说明了一个有趣但有点不寻常的情况: 假设您的设计需要使用连续模式、在 TBX.0上生成方波。 如果您可以改用向上计数模式+ TB0.1引脚、则可以使用该模式在硬件中生成可变占空比 PWM。 或者、如果您只想让占空比为50%、则可以将 OUTMOD=4与 TB0.0搭配使用。
[*]它的测量值为62ms 而不是65ms (大概)、因为系统时钟运行速度稍快(未调谐)。 这些都假定您的系统中没有发生其他情况、而在实际应用中可能不会出现这种情况。
Bruce、您好!
我的客户使用此代码
TB0CCR0 += COMPARE_VALUE;
P1OUT ^= BIT0;
他可以得到的最小周期为900us。
更一般地说:这里的目标是什么?
我的客户希望生成一个周期为50us 的串联中断。 因此、他尝试使用计时器生成 周期为50us 的串联中断
谢谢!
LEO