找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2894|回復: 9
收起左側

錯誤 C129: missing ';' before 'uint'"請大家?guī)兔纯,問題出在什么地方?

[復制鏈接]
ID:406231 發(fā)表于 2020-3-23 20:40 | 顯示全部樓層 |閱讀模式
初學C51編一個簡單的哆聲,就是通不過
//c調DO音頻率為523  H           //
   //z   =1.912         m          s                   //
   //=0.956        ms  //

     #include <reg52.h>
         #include <intrins.h>
        sbit OUT = P3^1;
        define uint unsigned int  
        define uchar  unsigned char
        
  void Delay956us()                //@11.0592MHz
        {
                unsigned char i, j;
        
                _nop_();
                i = 11;
                j = 69;
                do
                {
                        while (--j);
                } while (--i);
        }         
        viod   main()
        {
           while ( 1)
        
                OUT =1        ;
                Delay956us        ;
                OUT =0        ;
                Delay956us ;
        }
uv3編譯通不過,提示 "C_D0.C(8): 錯誤 C129: missing ';' before 'uint'"

回復

使用道具 舉報

ID:452950 發(fā)表于 2020-3-23 23:00 | 顯示全部樓層
第8、9行錯了
#define uchar unsigned char
#define uint unsigned int     
回復

使用道具 舉報

ID:235200 發(fā)表于 2020-3-24 00:02 | 顯示全部樓層
仔細看,程序中一個是void 一個是viod,總要改掉一個吧
回復

使用道具 舉報

ID:191511 發(fā)表于 2020-3-24 00:32 | 顯示全部樓層
宏定義的正確使用,define關鍵字前需要加  “#”號
回復

使用道具 舉報

ID:697917 發(fā)表于 2020-3-24 08:52 | 顯示全部樓層
#define uint unsigned int
#define uchar  unsigned char

#不能省略的。。
回復

使用道具 舉報

ID:164602 發(fā)表于 2020-3-24 09:11 | 顯示全部樓層
我給你調正確了,自己看看,你錯了些啥。。。!
#include <reg52.h>
         #include <intrins.h>
        sbit OUT = P3^1;
        #define uint unsigned int  
        #define uchar  unsigned char
        
  void Delay956us()                //@11.0592MHz
        {
                unsigned char i, j;
        
                _nop_();
                i = 11;
                j = 69;
                do
                {
                        while (--j);
                } while (--i);
        }         
        void   main()
        {
           while ( 1)
          {
                OUT =1        ;
                Delay956us()        ;
                OUT =0        ;
                Delay956us() ;
          }
                }
回復

使用道具 舉報

ID:601478 發(fā)表于 2020-3-24 09:18 | 顯示全部樓層
define前面加個#試試
回復

使用道具 舉報

ID:480251 發(fā)表于 2020-3-24 11:55 | 顯示全部樓層
宏定義使用錯誤,正確寫法如下:
#define uint unsigned int
#define uchar  unsigned char
后面不用加;
回復

使用道具 舉報

ID:524818 發(fā)表于 2020-3-24 12:54 | 顯示全部樓層
語法錯誤;還有就是主函數(shù)類型輸入錯誤。我想說既然前面宏定義了 uchar  為啥后面函數(shù)里還用unsigned char 宏定義的目的是為了輸入簡潔方便的,既然不用,宏定義就沒有意義了 再一個就是你宏定義了uint 后面沒用上編譯時也可能有警告
回復

使用道具 舉報

ID:406231 發(fā)表于 2020-3-25 09:57 | 顯示全部樓層
謝謝各位大神,HC6800-ES-V2.0大神的編譯通過,經(jīng)比較 我少了“#”,還有 Delay956us()少了(),改了后這個就能通過了。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表