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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5185|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 丝袜 亚洲 另类 欧美 综合 | 日韩国产精品一区二区三区 | 成人在线免费观看视频 | 伊人啪啪网| 亚洲免费视频一区 | 天天碰日日操 | 久久精品久久久久久 | 亚洲欧美精品久久 | 欧洲精品视频一区 | 久久精品国产亚洲a | 亚洲午夜av久久乱码 | 美女一级毛片 | 国产激情一区二区三区 | 久久午夜电影 | 久久精品免费观看 | 国产电影一区二区在线观看 | 欧美 日韩 国产 成人 在线 91 | 国产高清视频一区二区 | 影音先锋成人资源 | 青娱乐国产 | 免费黄色片视频 | 51ⅴ精品国产91久久久久久 | 一级中国毛片 | 中文一区 | 国产视频一二三区 | 欧美日产国产成人免费图片 | 91久久看片 | 一级毛片免费完整视频 | 国产精品久久久久999 | 国产一区二区在线播放视频 | 久久视频免费看 | 国产精品一区二区av | 日韩一区欧美一区 | 本道综合精品 | 特黄色一级毛片 | 亚洲精品日韩一区二区电影 | 久久国产精品久久久久 | 91精品久久久 | 中文字幕av一区二区三区 | 国产成人免费视频网站高清观看视频 | 亚洲一区二区不卡在线观看 |