ZHCADO0 January   2024 MSPM0C1104

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. TIMA 和 TIMG 之间的比较
  6. 用例 - 3 对具有死区插入的互补 PWM
    1. 3.1 原理
    2. 3.2 实现
  7. 用例 - 具有影子加载和比较功能的时序关键型 PWM 控制
    1. 4.1 原理
    2. 4.2 实现
  8. 用例 - 故障处理程序
    1. 5.1 原理
    2. 5.2 实现
  9. 用例 – 通过软件强制输出禁用 PWM
    1. 6.1 原理
    2. 6.2 实现
  10. 用例 - 非对称 PWM
    1. 7.1 原理
    2. 7.2 实现
  11. 用例 – 使用重复计数器实现更佳的中断生成
    1. 8.1 原理
    2. 8.2 实现
  12. 总结
  13. 10参考资料

实现

CCP 通道的输出可被强制为高电平或低电平。此外,仅在 TIMA 中,还可将互补输出通道强制设置为高电平或低电平。表 6-1 展示了软件强制输出操作配置选项。

表 6-1 强制输出操作配置
位字段 说明或注释
SWFRCACT/SWFRCACT_CMPL 0 无强制输出。输出直接来自信号生成块。
1 强制输出高电平
2 强制输出低电平

用户可以设置寄存器中的 SWFRCACT 位来强制或释放 PWM 输出。此外,用户可以调用 API 来产生与以下代码所示相同的效果。

/**
 *  @brief Overrides the timer CCP output
 *
 *  @param[in]  gptimer       Pointer to the register overlay for the
 *                            peripheral
 *  @param[in]  out           Specifies the CCP output state.
 *                            @ref DL_TIMER_FORCE_OUT
 *  @param[in]  outComp       If timer insatance supports complementary output,
 *                            it allows to override complementary out also.
 *                            If timer instance doesn't support complementary
 *                            output, this parameter is ignored.
 *                            @ref DL_TIMER_FORCE_CMPL_OUT
 *  @param[in]  ccIndex       Index associated to capture compare register
 *                            @ref DL_TIMER_CC_INDEX.
 */
void DL_Timer_overrideCCPOut(GPTIMER_Regs *gptimer, DL_TIMER_FORCE_OUT out,
    DL_TIMER_FORCE_CMPL_OUT outComp, DL_TIMER_CC_INDEX ccIndex);