(我之所以重新发布此帖子、是因为我第一次发布它时选择了问题出在 CCS 中。 我不知道这是不是这样,以及是否会让公众看到前一篇文章。)
我正面临一种非常奇怪的情况。 我正在函数内使用一系列 if-else 环路来确定不同 GPIO 下的信号变为低电平。 在输入断点(或实时执行)时、即使条件明显为 false、也会输入其中两个 if 循环。 为您提供一个示例、
uint08 val = P6IN & 0x40;//值为0x40或64。 输入信号也已在 CRO 中进行验证。 P6.6一直处于高电平
情况(I):
if (val ==45)
{
//程序流在此输入
}
情况(ii):
if (val!= 64)
{
//程序流在此输入
}
请找到所附的屏幕截图。 我已经尝试了多种其他方法来实现这一目标、例如仅执行 if ((P6IN & 0x40)!= 0x40)、但行为不变。 有趣的是、函数中的其他 if-else 环路工作正常。