【发布时间】:2014-02-05 21:14:56
【问题描述】:
由于错误,我认为 print() 中的代码没有看到 for().n.b 中的计数器。代码适用于 Propeller 微控制器。 for() 过去没有问题。非常感谢
#include "simpletools.h" // for print on my microcontroller platform
void main(void) {
for(int x = 1; x <= 20; x++); {
// *** error next line> error: 'x' undeclared (first use in this function)
print("x = %d\n", x);
high(14);
pause(500);
low(14);
pause(500);
}
}
【问题讨论】:
-
你用分号关闭
for的范围... -
我正要发布我对
void main的惯常咆哮,但对于像您正在使用的微控制器平台这样的嵌入式系统来说,这可能是正确的。顺便说一句,真的是print而不是printf? -
许多编译器会警告您,半后跟这样的大括号可能是无意的空体。您确定已将编译器上的警告级别调高到 11 级吗?
-
每个人都是对的。使用 -Wall 进行编译应该会有很大帮助,而且使用分号关闭 for 循环这一事实肯定是问题的一部分,如果不是问题本身的话。我也相信你必须在循环中使用 int i 之前声明它,至少在 C99 中是这样。我不确定那部分是否属实,但这是我被告知的。
-
Keith:我认为 uCon 可能需要 main 上的空白,但我想读一下咆哮。有链接吗?
标签: c variables for-loop microcontroller