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

奇怪的编译问题

现象表现为:

在下列语句中,py2 = 1, p7 = 1的情况下,也会进入capa.capFault[0] = 1;capa.capFault[1] = 1;  ,但进了以后,实际上capa.capFault[0] 和capa.capFault[1]又未被赋值。 

if (py2 == 0)
{
    capa.capFault[0] = 1;
}
if (p7 == 0)
{
    capa.capFault[1] = 1;
}

见下图中的断点2和断点3不管单步调试还是F5 RUN都会进去,右下角监控中,p7 和 py2都为1,同时capa.capFault[1] 为 18571,

CCS3.3具体版本见下图

p7 py2在主循环中赋值,如下图

工程编译选项设置如下

编译成汇编语句如下, 其问题是断点2 和 断点3处并没有编译成如断点4 "CMPB"的语句, 断点4正常, 而断点2和断点3不正常.我猜测应该是编译出问题了,但为什么编译会这样子?优化级别是NONE,也重新编译过还是如此

fw yang:

另外, p7  py2当GPIO电平变化时,P7  PY2都变化正常.外部开关合上时,P7 PY2为0, 外部开关断开时 P7  PY2为1,

现象表现为:

在下列语句中,py2 = 1, p7 = 1的情况下,也会进入capa.capFault[0] = 1;capa.capFault[1] = 1;  ,但进了以后,实际上capa.capFault[0] 和capa.capFault[1]又未被赋值。 

if (py2 == 0)
{
    capa.capFault[0] = 1;
}
if (p7 == 0)
{
    capa.capFault[1] = 1;
}

见下图中的断点2和断点3不管单步调试还是F5 RUN都会进去,右下角监控中,p7 和 py2都为1,同时capa.capFault[1] 为 18571,

CCS3.3具体版本见下图

p7 py2在主循环中赋值,如下图

工程编译选项设置如下

编译成汇编语句如下, 其问题是断点2 和 断点3处并没有编译成如断点4 "CMPB"的语句, 断点4正常, 而断点2和断点3不正常.我猜测应该是编译出问题了,但为什么编译会这样子?优化级别是NONE,也重新编译过还是如此

FANGYONG YANG:

我也遇见一样的问题,请问作者解决了吗?

赞(0)
未经允许不得转载:TI中文支持网 » 奇怪的编译问题
分享到: 更多 (0)