This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/DK-TM4C123G:IF语句未处理

Guru**** 2585275 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/602312/ccs-dk-tm4c123g-if-statement-not-processing

部件号:DK-TM4C123G

工具/软件:Code Composer Studio

您好,

我遇到了一个奇怪的问题,我的其中一个IF()语句似乎没有处理。  我的代码如下所示:

同时(1)
{
	如果(!lednext)
	{
		pvalue ^= 0x08;
		GPIOPinWrite (GPIO _PORTG_BASE,GPIO PIN_3,pvalue);
		lednext = 1;
	}

} 

这个无限的while循环在我的主{}函数内,我有一个基于计时器的中断,每30毫秒运行一次以清除"下一个"。
由于某种原因,if{}块中的语句永远不会执行。 如果我暂停程序执行,则lednext变量确实被清除。

对可能发生的事情有什么想法?

我在Windows 7上使用CCS V6与XDS 100V2调试器。

谢谢!

Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    lednext是否被声明为volatile? 我打赌这就是你的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有一个基于计时器的中断,每30毫秒运行一次,以清除“ledlnext”。 [/引述]

    确保ledlnext标记 为易失性。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它不是,但现在是,这解决了问题。

    谢谢!!