专家好!
我使用28035输出PWM波形控制升压电路,在程序运行一段时间后出现PWM不输出的情况,经过在线调试后发现,当程序运行一段时间后,执行if语句时出现错误,虽然if语句的执行条件成立,但是内部的语句不执行,将switch区空间改大之后,运行的时间更长了,但是仍然出现上述情况,请问工程师这是怎么回事,如何解决该问题(我的代码量较多)
Forrest:
if 语句能不能正常运行,和程序多不多并没有直接关系。
建议升级CCS到最新版本,用最新版的编译器试试。如有必要可以读一下反汇编看看为什么if 语句不跳转。
另外if 中的用于判断的参数定义的时候用volatile 。
www.deyisupport.com/…/6648.aspx
专家好!
我使用28035输出PWM波形控制升压电路,在程序运行一段时间后出现PWM不输出的情况,经过在线调试后发现,当程序运行一段时间后,执行if语句时出现错误,虽然if语句的执行条件成立,但是内部的语句不执行,将switch区空间改大之后,运行的时间更长了,但是仍然出现上述情况,请问工程师这是怎么回事,如何解决该问题(我的代码量较多)
Johnson Chen1:
回复 Forrest:
从楼主反映的问题来看,像是程序并未执行到If语句处,可以设置断点确认一下出问题时程序是否有跑到if语句处。
如果程序不能正常执行,很可能PC跑飞或者堆栈溢出之类的。