找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2065|回复: 9
打印 上一主题 下一主题
收起左侧

错误 C129: missing ';' before 'uint'"请大家帮忙看看,问题出在什么地方?

[复制链接]
跳转到指定楼层
楼主
ID:406231 发表于 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'"

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:452950 发表于 2020-3-23 23:00 | 只看该作者
第8、9行错了
#define uchar unsigned char
#define uint unsigned int     
回复

使用道具 举报

板凳
ID:235200 发表于 2020-3-24 00:02 | 只看该作者
仔细看,程序中一个是void 一个是viod,总要改掉一个吧
回复

使用道具 举报

地板
ID:191511 发表于 2020-3-24 00:32 | 只看该作者
宏定义的正确使用,define关键字前需要加  “#”号
回复

使用道具 举报

5#
ID:697917 发表于 2020-3-24 08:52 | 只看该作者
#define uint unsigned int
#define uchar  unsigned char

#不能省略的。。
回复

使用道具 举报

6#
ID:164602 发表于 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() ;
          }
                }
回复

使用道具 举报

7#
ID:601478 发表于 2020-3-24 09:18 | 只看该作者
define前面加个#试试
回复

使用道具 举报

8#
ID:480251 发表于 2020-3-24 11:55 | 只看该作者
宏定义使用错误,正确写法如下:
#define uint unsigned int
#define uchar  unsigned char
后面不用加;
回复

使用道具 举报

9#
ID:524818 发表于 2020-3-24 12:54 | 只看该作者
语法错误;还有就是主函数类型输入错误。我想说既然前面宏定义了 uchar  为啥后面函数里还用unsigned char 宏定义的目的是为了输入简洁方便的,既然不用,宏定义就没有意义了 再一个就是你宏定义了uint 后面没用上编译时也可能有警告
回复

使用道具 举报

10#
ID:406231 发表于 2020-3-25 09:57 | 只看该作者
谢谢各位大神,HC6800-ES-V2.0大神的编译通过,经比较 我少了“#”,还有 Delay956us()少了(),改了后这个就能通过了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表