Doc*_*dam 2 c embedded microcontroller pic
语言:C PIC: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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它的PIC倒计时项目,所以:9,8,7,6,5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,0,9,8 ,7,6,......但它在第一个周期后停止.
使用
signed int i;
Run Code Online (Sandbox Code Playgroud)
代替
int i;
Run Code Online (Sandbox Code Playgroud)
在CCS编译器中,默认情况下整数是无符号的.
http://www.ccsinfo.com/downloads/ccs_c_manual.pdf
检查第38页
"默认情况下,所有类型(浮动除外)都是无符号的;但是,[它们]可以在无符号或有符号之前.
| 归档时间: |
|
| 查看次数: |
1460 次 |
| 最近记录: |