欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
keil編程出現未定義標識符和參數列表長度不同錯誤,怎么解決
[打印本頁]
作者:
建檔扶貧對象
時間:
2020-3-20 17:12
標題:
keil編程出現未定義標識符和參數列表長度不同錯誤,怎么解決
這里是聲明部分和主函數部分函數。出問題的是:void Delay(uint time)參數列表長度不同、waitforstarting未定義標識符,大神看看是哪里出問題了。附件里有全部函數
#include<reg52.h>
#include<intrins.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define Lcd_Data P0; //定義LCD數據端口
uchar code dispbuf[33]={"Temperature: Distance: mm"};
uchar numcode[10]={'0','1','2','3','4','5','6','7','8','9'};
uint num[29]={0};
uchar jsh,jsl; //計時器的高低位
uchar count=0; //10秒計次數
uint distance; //距離
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit DQ=P2^7; //DS18B20數字端口
sbit Busy=P0^7;
uint temp; //溫度變量
uchar bdata flag; //DS18B20存在標準
void Delay(void); //延時函數
void Read_Busy(void); //檢查LCD是否忙
void lint_18B20(void); //初始化18B20
void Write_Comm(uchar); //寫入LCD命令
void Write_Data(uhar); //寫入LCD數據
void lint_LCD(void); //初始化LCD
uchar Readonechar(void); //讀取第一個字節
void Writeonechar(uchar dat); //寫入第一個字節
void testtemp(void); //啟動溫度轉換
uint wd(void); //讀取溫度
void Delay(uint time); //延時函數
sbit sta_flag=flag^0; //10MS到標準位
sbit fuhao=flag^1; //溫度符號位
sbit START=P1^0; //啟動測距
sbit CNT=P2^5; //發射超聲波
sbit CSBIN=P2^6; //返回信號
sbit BUZZER=P3^7;
void timer(void);
void delay1ms(void); //延時1MS
void sys_init(void); //系統初始化
void display(void); //顯示函數
void computer(void); //計算
void hextobcd(bit flag,uchar num); //轉換BCD
void bm(void); //求補碼
void delay15(uchar us); //延時15us
/***********主函數**************/
void main(void)
{
uchar i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
sys_init(); //初始化
display(); //顯示
sta_flag=0; //標準復位
Waitforstarting; // 檢查按鍵
while(START);
for(i=0;i<20;i++)
delay1ms();
if(START)
goto waitforstarting;
BUZZER=0;
i=100000;
while(i--);
TR0=1; //啟動定時器0
ET0=1;
testtemp(); //啟動溫度轉換
while(1)
{
if(sta_flag) //10MS到了
{
while(0==CSBIN); //收到回波
TR1=0;
jsh=TH1;
jsl=TL1;
if(15==count) //900MS到檢測溫度
{
temp=wd(); //讀取溫度
count=0;
testtemp(); //重新啟動轉換
display(); //刷新顯示
}
computer(); //計算距離
hextobcd(); //轉換BCD碼
sta_flag=0;
}
}
}
include.docx
2020-3-20 17:08 上傳
點擊文件名下載附件
19.92 KB, 下載次數: 7
作者:
xxpp2011
時間:
2020-3-20 17:12
我看了你的代碼,第一個問題
void Delay(uint time); //延時函數
聲明時括號里面的uint time意思是調用這個函數時需要在括號里面輸入參數time,可以填一個數字(具體需要延時的長度)。
然而你在前面還有一行聲明了名稱一樣的函數,里面沒有定義輸入參數
void Delay(void); //延時函數
需要把這行刪掉。
第二個問題
Waitforstarting; // 檢查按鍵
這不是一個合法的函數,調用的時候要Waitforstarting();
后面你也沒有類似 void Waitforstarting(){里面填功能}的聲明,所以不知道有什么用。
作者:
飄窗
時間:
2020-3-20 17:25
我覺的哈,你這個goto的標記Waitforstarting那里是不是用的; 要用: 的吧,你可以看一下
作者:
f556
時間:
2020-3-20 17:33
Waitforstarting; 寫成Waitforstarting();
作者:
carpcarey
時間:
2020-3-20 19:03
1:后面用到 goto waitforstarting; 說明 waitforstarting 是標號。標號的定義末尾應該是冒號,而不是分號。
2:C對大小寫敏感,Waitforstarting和waitforstarting不是一個東西。這個要統一。
3:Delay函數定義了2次。分別是24行的void Delay(void); //延時函數
和35行的void Delay(uint time); //延時函數
而且這兩個函數的參數還不一樣。。。。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1