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/66AK2G12:PWM 中断

Guru**** 2210540 points
Other Parts Discussed in Thread: 66AK2G12
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/778991/ccs-66ak2g12-pwm-interrupt

器件型号:66AK2G12

工具/软件:Code Composer Studio

我已初始化 PWM。 现在、我要将数据从信号处理发送到 PWM。 或 EDMA 来实现的。 有没有简单的方法?

在这里、我的代码:

#include 
#include 
#include 
#include 
#include 
#include "ti/board/board.h"
#include "ti/board_cfg.h"
#include "math.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "zepoc.h"

volatile float Duty;
#define APP_EHRPWM_INT (32U)
volatile uint16_t status;
int zeigr_k empfänger Ω;
extern float zeroOUT[samplehil/2];

/模块时钟是 PWMSS 工作的频率*/
#define MODULE_CLK (100000000)/*100MHz*/
#define PWM_BASE_ADDRESS (CSL_PWM_3_CFG_REGS)
#define PWM_BASE_Address1 (CSL_PWM_5_TB_REGS)
#define TBCLK_FREQ MODE_CLK_CLK/#define ADDRV/#define
0x000*


#define ADDR_CL0*





(#define ADDR_CL0*/#define ADDR_CL0*#define ADDR_Tbits)/#define ADDR_COUNT_COUNT*(#define 0x000*#define ADDR_CL0*(#define ADDR_T_BYT_TRYT_BYTK_#define ADQ*)


/* SHDWAMODE 和 SHDWBMODE 位*/
#define CC_SHADOW (0x0)
#define AQ_NO_ACTION (0x0)
#define AQ_LOW (0x1)
#define AQ_HIGH (0x2)
#define AQ_TOGGLE (0x3)
#define OVER WQ_WQ_DISAL_DISABLED (0x0000)#define CLMEP_RACK_REFOD




(0x0000)#define CLK_CLK_CLK_CLK_CLK_RACK_MODULT);#define CLK_CLK_CLK_CLK_CLK*(0x32)#define





int pointer=0;




cSL_EpwmAqActionCfg_t aqctrla ={AQ_NO_action、AQ_HIGH、AQ_LOW、AQ_NO_action、AQ_NO_action、 AQ_NO_ACTION};
CSL_EpwmAqActionCfg_t bqctrla ={AQ_NO_ACTION、AQ_LOW、AQ_HIGH、AQ_NO_ACTION、AQ_NO_ACTION、 AQ_NO_ACTION};
//设置 PWM 模块一次性配置的函数*/
void PWM_init()
{

/* PINMUX PWM*/


/*使用预分频器进行时基时钟配置*/
CSL_epwmTbbaseClkCfg (CSL_PWM_3_CFG_regs、TBCLK_wQ、MODULE_TRF_TBCLK_REQ_TBCLK_CFG_WQ_TBCLK_REGK
、MOD_BREQ_TREM_TBQ_TBQ_TBQ_TBQ_TimebQ_TBQ_TBQ_TimebQ_CFG_Time_Timer_CLK_ MODULE_CLK);

/*清除相位和方向设置为向上计数*/CSL_epwmTbSetSyncOutMode
(CSL_PWM_3_CFG_regs、CSL_EPWM_TB_SYNC_OUT_EVT_CNT_EQ_ZERO);
CSL_epwmTG_REGEnable (CSL_PWM_5_CCEP_5_EPWM_OUT_PWM_OUTPW_0_CK_CONTROL_CST_EPWM_ACT_ACT_ACT_AQ_EPWM_OUT);CSL_CST_PWM_OUT_PWM_OUTPUT_CFG_W_CFG_OPT_EP_EP_EP_AD_EP_EP_EP_EP_AD_EP_EP_EP_AD_EP_EP_EP_AD_EP_EP_EP_EP_AD_EP_EP_EP_EP_EP__AD_EP__EP_EP_EP_EP_EP_EP_EP_EP_EP_EP_EP_AD_EP_EP_



&bqctrla);

CSL_epwmTbPwmFreqCfg (CSL_PWM_3_CFG_regs、TBCLK_FREQ、PWM_FREQ、TB_COUNT_UP、 TB_Immediate);
CSL_epwmTbPwmFreqCfg (CSL_PWM_5_CFG_regs、TBCLK_FREQ、PWM_FREQ、TB_COUNT_UP、 TB_立即);

CSL_epwmHighResolutionCfg (CSL_PWM_3_CFG_regs、CSL_ePWM_HR_DELAY_BUS_SEL_CMPAHR、CSL_ePWM_HR_DELAY_EDGE_CTRL_FALLING);
CSL_epwmHighResolutionCfg (CSL_PWM_5_CMPAHR、CSL_RELET_EPWM_TRFLE_CFG_REGION);CSL_EPWM_CL_CL_CL_TRFLE_TRFLE_CL_CFG_REGATE
/void 启用 PWM_3中断以生成零计时器信号来中断 ePWM_INT3_REV*/
CSL_epwmEtEnable (CSL_PWM_3_CFG_regs);
CSL_epwmEtCfg (CSL_PWM_3_CFG_regs);CSL_EPWM_INST_PWM_3*













(CSRT_EP_INT_EPWFP_ST_EP_EP_INST_EP_ST_EP_EP_EP_EXT_REG_ST_EXT_REGPT_EXT_RESP=

0);*(CST_PWM_EP_PWM_EP_EP_INST_EP_EP_EP_EP_INST_EP_EP_EP_EP_INST_EP_EP_EP_EP_INST_INST_EP_EP_EP_EP_EP_INST_EP_EP_EP_EP_INST_EP_EP_EP_EP_INST_EP_EP_EP_EP_INST_EP_EP_EP_EP_EP_EP_EP_ST_EP_EP_EP_ST_EP_


OVER_WRITE_SHAD_DISABLE_DISABLED);
CSL_epwmHrLoadCmpAHrValue (CSL_PWM_3_CFG_regs、highresval、CSL_EPWM_HR_REG_ACT_LOAD_CNT_ZRO_PULSE);
CSL_epwmCounterComparatorCfg (CSL_PWM_5_CFG_A、ePWM、CCP_int) CC_SHADOW、CC_CTR_ZERO、OVER_WRITE_SHADOK_DISABLED);
CSL_epwmHrLoadCmpAHrValue (CSL_PWM_5_CFG_regs、highresval、CSL_EPWM_HR_REG_ACT_LOAD_CNT_ZRO_PULSE);

return;
} 

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

    不确定我是否正确理解该问题。 Processor SDK RTOS 中没有 PWM 示例、因此我无法向您推荐即用型代码。 您应该按照66AK2G12 TRM 中的 PWM 一章开发您的应用。

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

    Yordan、您好、感谢您的快速回复。 具有96kHz 频率的 PWM 已经可以工作。 之后、我需要一个与 PWM 同步的中断。 我是否可以使用 processors.wiki.ti.com/.../Configuring_Interrupts_on_Keystone_Devices 章节"为我的中断配置 CorePac 的 INTC"? 或者是否有更优雅的方式?

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

    是的、这是我们在运行 RTOS 的 Keystone 器件上配置中断的指南。 您可以遵循这种方法。

    此致、
    Yordan