【发布时间】:2013-02-22 05:20:10
【问题描述】:
语言:C 图片:16F84A 程序:CCS PCW
当我编译以下代码时,我的编译器抱怨 FOR 始终为真(也许 int 我不支持负值?):
#include <16F84A.h>
#FUSES XT
#use delay(clock=4M)
byte const display[10] = {63,6,91,79,102,109,124,7,127,103};
void main()
{
set_tris_b(0);
while(True)
{
int i;
for(i=9;i>=0;--i)
{
output_b(display[i]);
delay_ms(300);
}
}
}
它的 PIC Countdown 项目,所以: 9,8,7,6,5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,0,9,8,7,6,.. . 但它在第一个周期后停止。
【问题讨论】:
-
如果语言是C,为什么有5个语言标签?
-
如果这是 Microchip PIC 编译器:那就是垃圾。他们的整个 IDE 120% 坏了,不要相信任何“静态分析”结果。
-
您的
While条件始终为真。for loop永无止境地运行着。没有办法摆脱循环。 -
“for”循环一切正常。问题出在while循环中
-
老兄,这解决了。我只是改变:“int i”为“signed int i”
标签: c embedded microcontroller pic