TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377S: EPWM TZFLG 置1

Part Number:TMS320F28377S

      调试28377s时出现TZFLG.OST异常置1的现象:

在初始化函数中每当程序执行到 改语句时,TZFLG.OST就会置1。

TZ信号输入:

执行语句前寄存器状态:

    

执行后:

     

请帮忙解释一下,谢谢!

Yale Li:

您好,我向资深工程师咨询后回复您。

,

Yale Li:

li jianguo 说:在初始化函数中每当程序执行到 改语句时,TZFLG.OST就会置1。

这条汇编指令对应的C指令是什么?

li jianguo 说:执行语句前寄存器状态:

在您贴出来的截图中,TZFLG.OST在执行语句前后均被置位。

,

li jianguo:

之前上传图片弄错了,我重新传一次。

执行前

    

执行后

    

,

li jianguo:

汇编对应的C++指令我在执行前的一张图中用红线标识出来了。

,

Yale Li:

li jianguo 说:汇编对应的C++指令我在执行前的一张图中用红线标识出来了。

我注意到您划红线的汇编指令和最开始发的不一样?

,

li jianguo:

截图时刻有点不一样,第一次是在执行 theCompManager->startAllComponents(); 后执行压栈指令后截图(可以看汇编指令部分有一句对应的C++语句)。

TZFLG发生异常变化是在执行 MOVL *SP++, XAR2 后发生的。

注:这次发图执行前第三张图发错了,补发一张

,

Yale Li:

好的,有了结果我会第一时间回复您

,

Yale Li:

请问您方便提供一下startAllComponents()以及EPWM初始化的代码吗?

,

li jianguo:

/*MEMBERFUNC*/ void CBasCompManager::startAllComponents()/* FUNCTIONAL_DESCRIPTION

Start all components in the order of adding them to the system.*/{ for (UINT16 ui=0; ui LT m_uiCompInitCount; ui++) { ERRCODE errCode = m_apCompInitList[ui]->start();

CHECK_INIT(errCode);

// Delay of going on with start() routines of other components. while (NOT m_apCompInitList[ui]->startIsFinished()) { // wait until startup of the component has been finished } }}

PWM 你需要那些寄存器的值,我截图给你

,

Yale Li:

ePWM初始化的代码方便发一下吗?我们还想对您的ePWM的配置进行分析

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: EPWM TZFLG 置1
分享到: 更多 (0)