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的配置进行分析