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/MSP430F5529:DriverLib 错误

Guru**** 2928980 points

Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/897360/ccs-msp430f5529-driverlib-bug

器件型号:MSP430F5529

工具/软件:Code Composer Studio

大家好、我转到 MSP430F5529页面、下载了最新的 driverlib (MSP430_driverlib_2_91_13_01)。

我认为 Timer_a_initUpMode()函数中有一个错误。 在粘贴的代码中、请注意、计时器是在您设置计时器周期之前启动的。 突出显示的块应该是该函数的最后一个功能(与其他 Timer_A_init*函数一样)。  

谢谢

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

    电源  在 Timer_A_initUpMode 和 Timer_A_initUpDownMode 中看起来也是错误的,但它位于 Timer_A_initContinuousMode()的正确位置。

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

    您好、Matt、

    您是否建议 对于 Timer_A_initUpMode(),正确的顺序应为:

    --------------------------------------

    HWREG16 (baseAddress + OFS_TAxCCR0)= param->timerPeriod;

    if (param->startTimer){
    HWREG16 (baseAddress + OFS_TAxCTL)|= TIMER_A_UP_MODE;

    --------------------------------------

    由于用户指南(https://www.ti.com/lit/pdf/slau208)?)第17.2.1节中的注释"修改 Timer_A 寄存器"

    Srinivas

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

    可以、但也可以想象一下、您在100us 内要求计时器发出中断的位置。 然后您获取中断并停止计时器。 然后、您稍后会要求计时器在100ms 内触发中断。 但是、当您启动计时器时、会运行100us ISR、并且在 ISR 完成100us 的旧计时器设置时立即触发、即使您希望发生100mS 中断。 这种情况是可以发生的、因为您在加载新值之前启动了计数器。

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

    出于同样的原因、它还应遵循 CCIE 设置、以避免杂散中断。

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

    Matt 和 Bruce、您好、

    感谢您指出这些错误。 我将提交一个内部错误跟踪、我希望它在下一个驱动程序版本中得到修复。

    Srinivas