zsw3721 发表于 2021-3-14 20:40 无符号整型的范围是0~65535,1000没有超过 |
#include "reg51.h" #define uint unsigned int sbit led=P0^0; void delayxms(uint xms) { uint x,y; for(x=xms;x<0;x--) for(y=110;y>0;y--); } void main() { while (1) { led=0; delayxms(1000); led=1; delayxms(1000); } } Rebuild target 'Target 1' compiling test.c... linking... Program Size: data=9.0 xdata=0 code=62 ".\Objects\test" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:00 没问题的,你应该把你的整个工程上传,是不是设置的问题 |
数据类型的值域不同 |
你的delayxms函数形参定义的是uint,那你调用的时候就不要给一个int的参数。1000已经超过了8位无符号数的最大值255。 |