工具/软件:Code Composer Studio
您好!
我在理解 Timer_A 的功能时遇到了一些问题。 我已经阅读了技术参考手册、但无法理解 Resource Explorer/driverlib 中的示例。
对我来说、该示例有点令人困惑。 在注释部分中、说明 TACLK 将使用1.045MHz SMCLK。 然后、它显示 TACLK = SMCLK = 3MHz。
据我所知、固件中的时钟频率为 TACLK = 3MHz、因为分频器为1、对吧? 如果这是正确的情况、我不理解 TIMER_PERIOD = 127是如何产生~233us 的、如注释中所述。
我的计算(可能错误):3MHz/127 = 23622Hz = 42.3us。
我缺少什么吗?
非常感谢您的帮助!
从 Resource Explorer > TIMER_A_updown_COMPARE_MULTIL_PWM 中获取的部分代码以及初始注释如下:
/*********
* MSP432 PWM TA1.1-2、上数/下数模式、DCO SMCLK * 说明:此程序使用 针对上数/下数模式配置的* Timer1_A 在 P2.2、3上生成两个 PWM 输出。 CCR0中的值128定义 了* PWM 周期/2以及 CCR1和 CCR2中的 PWM 占空比值。 使用 *~1.045MHz SMCLK 作为 TACLK 时、计时器周期为~233us、 P7.7上占空比为75%、P7.6上占空比为25%。 * SMCLK = MCLK = TACLK =默认 DCO 3MHz *作者:Timothy Logan /* DriverLib 包括*/ #include /*应用定义*/ #define TIMER_PERIOD 127 #define DUTY 循环1 32 #define DUTY CYCLE2 96 //* Timer_A 上行配置参数*/ const Timer_A_上 行模式配置下行配置= { Timer_A_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源 Timer_A_CLOCKSOURCE_divider _1、 // SMCLK/1 = 3MHz Timer_Period、 // 127个周期 Timer_A_TAIE_INTERRUPT_DISABLE、 //禁用计时器中断 Timer_A_CCIE_CCR0_INTERRUPT_DISABLE、//禁用 CCR0中断 Timer_A_do 清除 //清除值 };