標題: Keil編譯單片機程序錯誤 求大佬解答 [打印本頁]

作者: 2086206269@qq.c    時間: 2021-3-14 19:41
標題: Keil編譯單片機程序錯誤 求大佬解答
總是這個錯誤,到底是哪里錯了,怎么解決

1615722054812..jpg (795.48 KB, 下載次數(shù): 44)

1615722054812..jpg

作者: zsw3721    時間: 2021-3-14 20:40
你的delayxms函數(shù)形參定義的是uint,那你調(diào)用的時候就不要給一個int的參數(shù)。1000已經(jīng)超過了8位無符號數(shù)的最大值255。
作者: 小韓嵌入式    時間: 2021-3-14 21:20
數(shù)據(jù)類型的值域不同

作者: zhangxiaozi    時間: 2021-3-14 23:31
#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
沒問題的,你應該把你的整個工程上傳,是不是設置的問題
作者: cheney03    時間: 2021-3-16 08:50
zsw3721 發(fā)表于 2021-3-14 20:40
你的delayxms函數(shù)形參定義的是uint,那你調(diào)用的時候就不要給一個int的參數(shù)。1000已經(jīng)超過了8位無符號數(shù)的最 ...

無符號整型的范圍是0~65535,1000沒有超過




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1