工具/软件:
尊敬的支持团队:
在开发固件以从 MSP430FR6047器件的计时器 B0捕捉输入(TB0.2、引脚#33)检索计数器值时遇到了困难。
具体来说、虽然计时器 B0设置看起来正确并且计时器寄存器 TB0R
按预期递增、但 CCI (捕捉/比较输入)信号指示和捕捉比较寄存器 TB0CCR2
的读数始终为零。 我怀疑我的配置中可能存在错误。
我正在使用 TI DriverLib 库(来自: MSPDRIVERLIB 驱动程序或库| TI.com)。
以下是用于计时器 B0捕捉模式初始化的相关代码段:
Timer_B_initCaptureModeParam Timer_B0_Param = {0}; Timer_B_clearTimerInterrupt(TIMER_B0_BASE); Timer_B0_Param.captureInputSelect = TIMER_B_CAPTURE_INPUTSELECT_CCIxA; Timer_B0_Param.captureInterruptEnable = TIMER_B_CAPTURECOMPARE_INTERRUPT_DISABLE; Timer_B0_Param.captureMode = TIMER_B_CAPTUREMODE_RISING_EDGE; Timer_B0_Param.captureOutputMode = TIMER_B_OUTPUTMODE_OUTBITVALUE; Timer_B0_Param.captureRegister = TIMER_B_CAPTURECOMPARE_REGISTER_2; Timer_B0_Param.synchronizeCaptureSource = TIMER_B_CAPTURE_ASYNCHRONOUS; TB0CTL = TB0CTL | CNTL_0 | TBSSEL_1 | ID__8; //Counter Length 0xFFFF, Clock Source ACKL (32kHz), Clock Divider = /8 -> Period 16s Timer_B_selectCounterLength(TIMER_B0_BASE, TIMER_B_COUNTER_16BIT); Timer_B_initCaptureMode(TIMER_B0_BASE, &Timer_B0_Param);
应用这些设置后、切换 TB0.2输入(引脚#33)、然后尝试使用读取捕获的值:
Timer_B_getCaptureCompareCount(TIMER_B0_BASE, TIMER_B_CAPTURECOMPARE_REGISTER_2);
但是、该函数调用始终返回零。
希望它是清楚的。 我期待收到您的答复。
此致、
Vladimir Zitoli