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

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

mangui zhang:一个是Console.App()一个是console_app()不一样的函数啊

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

笨鸟:楼主的描述还是不清楚,屏蔽的是哪几个语句,第二个函数屏蔽掉居然只有一个分号,没报错吗?

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

user4855009:

回复 mangui zhang:

非常感谢您回答我的问题,可能是因为我没描述清楚,for循环里屏蔽的console.app()函数调用了console_app()函数,我将该函数的函数功能屏蔽,而不是将调用该函数的语句屏蔽,程序能够正常运行,但屏蔽调用该函数的语句却让程序不正常运行,即连for循环都无法进入,直接跳到程序结尾。

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

user4855009:

回复 笨鸟:

非常感谢您回答我的问题,我在图一中屏蔽Console.App()函数,该函数调用了console_app()函数;
只要屏蔽的Console.App()函数,程序就会跳过for循环直接运行到程序末尾;而我所希望的就是屏蔽该函数的功能。如图二所示,屏蔽所调用的console_app()函数功能,不会报错,功能也能够被正常屏蔽,但还是比较困惑。

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

笨鸟:

回复 user4855009:

我感觉是这个样子的,你第一张图中的函数,除了Console.App()函数外,其他都是赋值语句,左值只被赋值,不被读取,很可能会被优化掉。你是单步运行的时候,发现程序就会跳过for循环直接运行到程序末尾的吗?你是如何检测的?

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

user4855009:

回复 笨鸟:

是的,我是用单步运行时发现这样做程序运行不正常,直接跳过了for循环,同时我在for循环中添加了一个变量aa,使它在每个循环自增,结果aa的值一直为0,但PWM中断还是能够正常进入。即使Console.App()是一个空的函数,屏蔽它,程序还是会运行不正常。

在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。

屏蔽的函数如图1,函数内部如图2,屏蔽函数后,程序直接跳过for循环到程序末尾,for循环内的程序都不执行,但不屏蔽程序,屏蔽程序内部功能,即让该函数成为一个空函数,程序就能正常运行,很费解这是为什么,这两者有什么本质区别吗?

笨鸟:

回复 user4855009:

其实,你的那个for循环可以删掉,或者加上变量,让他循环几次,我总感觉怪怪的。第二,Console.App()里面那个单独的冒号是干啥用的,是否有影响呢?3.变量前面加static试试

赞(0)
未经允许不得转载:TI中文支持网 » 在使用TMS320F28027 实验板的时候,屏蔽掉for循环里面的一个函数,导致程序无法正常运行。
分享到: 更多 (0)