久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5491|回復: 15
打印 上一主題 下一主題
收起左側

單片機編譯錯誤 大佬求幫助 'hdata'

[復制鏈接]
跳轉到指定樓層
樓主
哪錯了啊 小白不會啊 求大佬幫幫

捕獲.PNG (114.85 KB, 下載次數: 19)

捕獲.PNG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:554500 發表于 2021-5-27 08:04 | 只看該作者
這上面的3個函數名后面都多了一個分號;
最下面的函數還少了一個 {
這種低級錯誤都能犯,這不是大意都能說得過去的。
回復

使用道具 舉報

板凳
ID:554500 發表于 2021-5-27 08:12 | 只看該作者
個人建議:
剛開始學寫代碼的時候,寫一個函數編譯一下。
有問題及時查找。寫一個函數,先寫框架,再寫內容。如:
void key()
{
   //內容
}

要養成良好的編程習慣。
回復

使用道具 舉報

地板
ID:927279 發表于 2021-5-27 08:15 | 只看該作者
18701931930 發表于 2021-5-27 08:04
這上面的3個函數名后面都多了一個分號;
最下面的函數還少了一個 {
這種低級錯誤都能犯,這不是大意都能 ...

這個我知道。我本來沒有分號 但是報錯40個。加上之后就剩三個了
回復

使用道具 舉報

5#
ID:554500 發表于 2021-5-27 09:10 | 只看該作者
garrettzls 發表于 2021-5-27 08:15
這個我知道。我本來沒有分號 但是報錯40個。加上之后就剩三個了

代碼用文本的方式貼出來看看
回復

使用道具 舉報

6#
ID:927279 發表于 2021-5-27 10:36 | 只看該作者
18701931930 發表于 2021-5-27 09:10
代碼用文本的方式貼出來看看

#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
sbit Trig=P2^0;            //???
sbit Echo=P2^1;          //???
sbit pwm =P0^1 ;          //PWM????
sbit jia =P1^2;           //????????IO?
sbit jan =P1^1;           //????????IO?
unsigned char count;
unsigned char jd;         //????
unsigned char T0RH=0;
unsigned char T0RL=0;
void Time0_Init()          //??????
{
TMOD = 0x01;           //???0?????1
IE   = 0x82;
TH0  = 0xfe;
TL0  = 0x33;     //11.0592MZ??,0.5ms
    TR0=1;                 //?????
}//????????
void time_init()
{
        EA=1;
        TMOD=0x11;
        TH0 = 0;
        TL0 = 0;
} //?????????
void Delay_us(unsigned char t);
{
while(--t);
}

void timer0()interrupt 1;
{
TH0 = 0;
TL0 = 0;
} //???? ????? ???? ?????? ????
void chaoshenbo_kongzhi();  //???????
        unsigned int time,distance;
        Trig=0;
        Echo=0;
        jd=3;
        time_init();
        while(1)
        {
                Trig=1;
                Delay_us(5);
                Trig=0;
                while(Echo==0);
                TR0=1;
                while(Echo);
                TR0=0;
                time=TH0*256+TL0;
                distance=(int)(time*0.017);                           //???? ???cm
                TH0=0;
                TL0=0;
                if(distance<100)                                        //??????100cm ????
                {
                        last=distance;
                        jd=4;
                        Delay_us(10);
                        if(distance<last)
                        {
                        jd=1;
                        }
                        if(distance>last)
                        {
                        jd=5;
                        }
                        }
                        if(distance>100)
                        jd=3;
                }
               
void main()
{
jd=3;
count=0;
chaoshenbo_kongzhi();
        }
回復

使用道具 舉報

7#
ID:917199 發表于 2021-5-27 13:08 | 只看該作者
void chaoshenbo_kongzhi();  //???????
        unsigned int time,distance;
看看這里多了什么又少了什么,難怪1930說你
回復

使用道具 舉報

8#
ID:554500 發表于 2021-5-27 13:24 | 只看該作者
3個函數名后面多分號;
void Delay_us(unsigned char t);
void timer0()interrupt 1;
void chaoshenbo_kongzhi();

其中 void chaoshenbo_kongzhi()   又少了一對大括號 { }
變量last沒有定義

回復

使用道具 舉報

9#
ID:155507 發表于 2021-5-27 15:04 | 只看該作者
給你改了一下試試。

  1. #include <reg52.h>
  2. #include <stdio.h>
  3. #include <intrins.h>
  4. sbit Trig=P2^0;            //???
  5. sbit Echo=P2^1;          //???
  6. sbit pwm =P0^1;          //PWM????
  7. sbit jia =P1^2;           //????????IO?
  8. sbit jan =P1^1;           //????????IO?
  9. unsigned char count;
  10. unsigned char jd;         //????
  11. unsigned char T0RH=0;
  12. unsigned char T0RL=0;
  13. void Time0_Init()          //??????
  14. {
  15.         TMOD = 0x01;           //???0?????1
  16.         IE   = 0x82;
  17.         TH0  = 0xfe;
  18.         TL0  = 0x33;     //11.0592MZ??,0.5ms
  19.         TR0=1;                 //?????
  20. }//????????
  21. void time_init()
  22. {
  23.         EA=1;
  24.         TMOD=0x11;
  25.         TH0 = 0;
  26.         TL0 = 0;
  27. } //?????????
  28. void Delay_us(unsigned char t)
  29. {
  30.         while(--t);
  31. }

  32. void timer0() interrupt 1
  33. {
  34.         TH0 = 0;
  35.         TL0 = 0;
  36. } //???? ????? ???? ?????? ????
  37. void chaoshenbo_kongzhi()  //???????
  38. {
  39.         unsigned int time, distance, last;
  40.         Trig=0;
  41.         Echo=0;
  42.         jd=3;
  43.         time_init();
  44.         while(1)
  45.         {
  46.                 Trig=1;
  47.                 Delay_us(5);
  48.                 Trig=0;
  49.                 while(Echo==0);
  50.                 TR0=1;
  51.                 while(Echo);
  52.                 TR0=0;
  53.                 time=TH0*256+TL0;
  54.                 distance=(int)(time*0.017);                           //???? ???cm
  55.                 TH0=0;
  56.                 TL0=0;
  57.                 if(distance<100)                                        //??????100cm ????
  58.                 {
  59.                         last=distance;
  60.                         jd=4;
  61.                         Delay_us(10);
  62.                         if(distance<last)
  63.                         {
  64.                                 jd=1;
  65.                         }
  66.                         if(distance>last)
  67.                         {
  68.                                 jd=5;
  69.                         }
  70.                 }
  71.                 if(distance>100)
  72.                 jd=3;
  73.         }
  74. }
  75. void main()
  76. {
  77.         jd=3;
  78.         count=0;
  79.         chaoshenbo_kongzhi();
  80. }
復制代碼
回復

使用道具 舉報

10#
ID:927279 發表于 2021-5-27 17:35 | 只看該作者
18701931930 發表于 2021-5-27 13:24
3個函數名后面多分號;
void Delay_us(unsigned char t);
void timer0()interrupt 1;

去了分號直接40多個錯 這是為啥啊
回復

使用道具 舉報

11#
ID:927279 發表于 2021-5-27 17:36 | 只看該作者
解決了  謝謝大佬們
回復

使用道具 舉報

12#
ID:213173 發表于 2021-5-27 18:19 | 只看該作者
garrettzls 發表于 2021-5-27 17:35
去了分號直接40多個錯 這是為啥啊

樓主這個程序不是簡單的多幾個分號錯誤,其實是幾乎通篇錯誤。建議在論壇搜搜別人的程序參考。先照貓畫虎練練手。
回復

使用道具 舉報

13#
ID:731755 發表于 2021-5-27 18:41 | 只看該作者
garrettzls 發表于 2021-5-27 08:15
這個我知道。我本來沒有分號 但是報錯40個。加上之后就剩三個了

加上分號,就不對,分號的意思一句話說完了,如果加上分號,這里是無法延時的,編譯錯誤,是很容易出現的,樓主需要對照別人的程序或者書本一項項檢查那里錯了。
回復

使用道具 舉報

14#
ID:849913 發表于 2021-5-28 12:43 | 只看該作者
#在void timer0()interrupt 1; 去掉1后面的分號
回復

使用道具 舉報

15#
ID:849913 發表于 2021-5-28 12:44 | 只看該作者
void timer0()interrupt 1; 去掉1后面的分號
回復

使用道具 舉報

16#
ID:927279 發表于 2021-6-1 20:39 | 只看該作者
angmall 發表于 2021-5-27 15:04
給你改了一下試試。

謝謝大佬
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩久久久一区二区 | 国产亚洲一区二区三区在线观看 | 日韩福利在线观看 | 久草视 | 亚洲欧美在线观看 | 最近中文字幕在线视频1 | 免费同性女女aaa免费网站 | 久久国产精彩视频 | 国产99久久精品 | 大香网伊人| 亚洲三级国产 | 日日干干 | h视频在线观看免费 | 午夜看看 | 国产精品久久久久久久久污网站 | 欧美视频精品 | 国产女人精品视频 | 久久一区 | 欧美成人自拍视频 | 中文字幕1区 | 国产婷婷综合 | 成人免费看黄 | 欧美一区二区三区视频 | 日本 欧美 三级 高清 视频 | 最新黄色毛片 | 国产精品亚洲二区 | 国产精品久久二区 | 91久久伊人 | 久久手机在线视频 | 91高清在线| 99精品欧美一区二区蜜桃免费 | 在线播放一区二区三区 | 国产精品久久久久一区二区三区 | 亚洲国产成人在线观看 | 免费国产黄网站在线观看视频 | 视频一区中文字幕 | 色黄爽 | 在线成人免费视频 | 天天艹逼网 | 黄色免费在线观看 | 亚洲免费网址 |