找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 161|回复: 8
收起左侧

error C141: syntax error near 'void'头疼啊

[复制链接]
ID:1116681 发表于 2024-4-15 11:09 | 显示全部楼层 |阅读模式
#include <reg51.h>

extern FREQ=524 // 设置方波信号的频率为 524Hz

void delay(unsigned int time) // 延时函数
{
    unsigned int i, j;
    for (i = 0; i < time; i++)
        for (j = 0; j < 125; j++);
}

void main()
{
    while (1)
    {
        P1 = 0x20; // 设置 P1.5 输出高电平
        delay(1000 / (2 * FREQ)); // 计算并延时半个周期的时间

        P1 = 0x00; // 设置 P1.5 输出低电平
        delay(1000 / (2 * FREQ)); // 计算并延时半个周期的时间
    }
在keil4下运行有以下报错

W6T2.C(5): error C141: syntax error near 'void'
W6T2.C(6): error C141: syntax error near '{'
W6T2.C(8): error C141: syntax error near 'for'
W6T2.C(8): error C141: syntax error near '=', expected ')'
W6T2.C(8): error C129: missing ';' before '<'
麻烦各位大佬帮忙看一下这是为什么啊



回复

使用道具 举报

ID:883242 发表于 2024-4-15 13:32 | 显示全部楼层
extern FREQ=524

这一行错误太多了,已经无力吐槽了,可能这段程序唯一的一行是您亲自写的吧?
回复

使用道具 举报

ID:1109793 发表于 2024-4-15 13:59 | 显示全部楼层
可能extern应该是define吧
回复

使用道具 举报

ID:1109793 发表于 2024-4-15 13:59 | 显示全部楼层
也不对,define没有=
回复

使用道具 举报

ID:41656 发表于 2024-4-15 15:20 | 显示全部楼层
你while或main的结束花括号少了一个
回复

使用道具 举报

ID:897192 发表于 2024-4-15 15:39 | 显示全部楼层
extern FREQ=524 这一句看你意思应该使用#define  FREQ  524   ,然后你的main函数最后少了一个}
回复

使用道具 举报

ID:897192 发表于 2024-4-15 15:41 | 显示全部楼层
extern FREQ=524 用 #define  FREQ  525 代替,main函数最后少了一个花括号}
回复

使用道具 举报

ID:1116714 发表于 2024-4-15 15:54 | 显示全部楼层
hakukuku 发表于 2024-4-15 15:41
extern FREQ=524 用 #define  FREQ  525 代替,main函数最后少了一个花括号}

哥能不能帮忙看看我的帖子,不知道该怎么改代码了
回复

使用道具 举报

ID:954677 发表于 2024-4-15 16:18 | 显示全部楼层
解决方法如下: 1、检查代码中的void关键字:确保在使用void关键字时遵循了正确的语法。在Python中,void并不是一个内置的关键字,是在代码中自定义的变量、函数名和类名等。 2、检查附近的语法:仔细检查void附近的代码,查找语法错误。检查缩进、括号、引号等是否正确匹配,以及语句的完整性。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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