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

標題: 求大神幫我看看程序錯誤在哪里 [打印本頁]

作者: 無與倫比jay1    時間: 2017-8-17 10:11
標題: 求大神幫我看看程序錯誤在哪里
哪位大神能幫我看看程序錯誤  ,是做智能小車的
#include<reg52.h>
#define unchar unsigned char
#define unit unsigned int
#define num_1 100
#define num_2 1000
#define num_3 50
#define unchar unsigned char
#define unit unsigned int
unchar a;
void init()
{
  TMOD=0x20;
  TH1=0xfd;
  TR1=1;
  REN=1;
  SM0=0;
  SM1=1;
  EA=1;
  ES=1;
}
sbit In1=P1^0;
sbit In2=P1^1;     //定義左電機1的兩個連接端In1,In2;
sbit In3=P1^2;
sbit In4=P1^3;     //定義右電機2的兩個連接端In3,In4;
sbit In5=P1^4;
sbit In6=P1^5;     //定義左電機3的兩個連接端In5,In6;
sbit In7=P1^6;
sbit In8=P1^7;     //定義右電機4的兩個連接端In7,In8;
unsigned int i,j;
void main()
{
  void Stop_1()
  {
   In1=1;
   In2=1;
   }       //定義電機1停止;
  void Transferred_1()
  {
  In1=0;
  In2=1;
  }      //定義電機1正轉;
  void Reverse_1()
  {
  In1=1;
  In2=0;
  }        //定義電機1反轉;
  void Stop_2()
  {
   In3=1;
   In4=1;
   }       //定義電機2停止;
  void Transferred_2()
  {
  In3=0;
  In4=1;
  }      //定義電機2正轉;
  void Reverse_2()
  {
  In3=1;
  In4=0;
  }        //定義電機2反轉;
  void Stop_3()
  {
   In5=1;
   In6=1;
   }       //定義電機3停止;
  void Transferred_3()
  {
  In5=0;
  In6=1;
  }      //定義電機3正轉;
  void Reverse_3()
  {
  In5=1;
  In6=0;
  }        //定義電機3反轉;
  void Stop_4()
  {
   In7=1;
   In8=1;
   }       //定義電機4停止;
  void Transferred_4()
  {
  In7=0;
  In8=1;
  }      //定義電機4正轉;
  void Reverse_4()
  {
  In7=1;
  In8=0;
  }        //定義電機4反轉;
    void Stop()
    {
  
    {
    Stop_1();
    Stop_2();
    Stop_3();
    Stop_4();
    }}        //定義子功能:停止
    void Advance()
    {
    for(i=0;i<num_1;i++);
    for(j=0;j<num_2;j++);
    {
    Transferred_1();
    Transferred_2();
    Transferred_3();
    Transferred_4();
    }}       //定義子功能:前進
    void Retreat()
    {
    for(i=0;i<num_1;i++);
    for(j=0;j<num_2;j++);
    {
    Reverse_1();
    Reverse_2();
    Reverse_3();
    Reverse_4();
    }}       //定義子功能反轉
    void Turn_left()   //電機1,電機3停止,電機2,電機4正轉;
    {
    Stop_1();
    Stop_3();
    Transferred_2();
    Transferred_4();
    }      //定義子功能左轉
    void Turn_right()   //電機1,3正轉,電機2,4反轉;
  
    {
    Transferred_1();
    Transferred_3();
    Stop_2();
    Stop_4();
    }
  
    void ser()interrupt 4
    {
    ES=0;
    RI=0;    //將接收中斷標志位清0
    a=SBUF;     //將接收到的數據賦值給a
    switch(a)
    {
    case 65: Advance();break;       //發送的是A,前進指令
    case 66: Retreat();break;    //發送的是B,后退指令
    case 67: Turn_left();break;    //發送的是C,左轉指令
    case 68: Turn_right();break;    //發送的是D,右轉指令
    default: Stop();
    }
   ES=1;
   }  }
報錯是   CARKEIL.C(33): error C141: syntax error near '{'
CARKEIL.C(34): error C136: 'In1': 'void' on variable
CARKEIL.C(153): error C141: syntax error near '}'

感激不盡

作者: 無與倫比jay1    時間: 2017-8-17 10:12
來人吶  來神吶
作者: hange_v    時間: 2017-8-17 10:34
你再好好學學C語言基礎好不好,函數只能在最外層定義,哪有在函數里面定義函數的,而且還在主函數里面定義函數。你應該把所有函數定義放在最外面,函數里面只能調用函數。真是服了。。。
作者: hange_v    時間: 2017-8-17 11:09
hange_v 發表于 2017-8-17 10:34
你再好好學學C語言基礎好不好,函數只能在最外層定義,哪有在函數里面定義函數的,而且還在主函數里面定義 ...

另外,四輪小車的轉向絕對不是你程序中那樣簡單左右轉,你還需要考慮轉向時里外車輪轉速是不同的。你的這種轉向只能是三輪的小車,并且一個是萬向輪。
作者: sgq657785    時間: 2017-8-17 12:09
可以做成函數模塊,主程序直接調用就好了啊
作者: q1833605807    時間: 2017-8-19 11:48
第一子函數要放在主函數后面需要在開頭進行聲明,第二子函數要放在sbit定義后面,第三刨去語法錯誤,我覺得你的邏輯也有問題




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品99久久久久 | 久久一起草 | 日本精品视频 | 久久神马 | 欧美日韩亚洲一区 | 国产在线一区二区三区 | 国产在线精品一区二区 | 久久久91精品国产一区二区三区 | 午夜精品久久久久久久久久久久久 | 日韩电影中文字幕 | 亚洲精品成人在线 | 国产 欧美 日韩 一区 | 一区二区三区中文字幕 | 精品久久久久久久久久久久 | 免费观看一区二区三区毛片 | 五月综合色啪 | 国产精品久久久久999 | 99热这里只有精品8 激情毛片 | 久久精品综合 | 欧美在线观看一区 | 久久免费精品视频 | 亚洲精品二区 | 一级片免费视频 | 无码国模国产在线观看 | 亚洲视频三区 | 亚洲二区视频 | 国产视频一区二区三区四区五区 | 黑人巨大精品欧美一区二区免费 | 欧美激情五月 | 亚洲精品福利在线 | 久久免费精品 | 日韩欧美一区二区三区 | 国产精品久久久久久久久久久久久 | 亚洲一区三区在线观看 | 天堂素人约啪 | 国产精品日日摸夜夜添夜夜av | 天堂视频中文在线 | 最新国产精品视频 | 男人天堂免费在线 | 亚洲久久 | 国产精品一区免费 |