找回密码
 立即注册
查看: 42|回复: 4

求助,环形缓冲区写程序编译时总是报错

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-03-27 07:56:28
已绑定手机

1

主题

2

回帖

21

积分

新手上路

积分
21
发表于 5 天前 | 显示全部楼层 |阅读模式


新手,打算自己做一个WIFI时钟,一边实战一边学习。
写了一个环形缓冲区的框架,但是编译总是报错,已定位到问题点,但是没想明白报错原因 ,求助各位大佬。

报错信息如下:


Rebuild started: Project: wifi clock
Rebuild target 'Target 1'
compiling main.c...
user\wifi.h(20): error C141: syntax error near ')', expected '<id>'
compiling config.c...
compiling wifi.c...
user\wifi.h(20): error C141: syntax error near ')', expected '<id>'
user\wifi.c(72): error C141: syntax error near ')', expected '<id>'
user\wifi.c(81): error C141: syntax error near 'data', expected 'sizeof'
Target not created.
Build Time Elapsed:  00:00:00



目前已定位到问题点,问题就出在wifi.c 和wifi.h 中的以下程序和声明:

bit RingBuffer_Write(RingBuffer *rb, unsigned char data);


/**
* @brief 向环形缓冲区写入一个字节
* @param rb: 指向环形缓冲区结构体
* @param data: 要写入的字节数据
* @return 1-写入成功,0-缓冲区满写入失败
*/
bit RingBuffer_Write(RingBuffer *rb, unsigned char data)
{
    // 缓冲区满则返回失败
    if(RingBuffer_Full(rb))
    {
        return 0;
    }
   
    // 写入数据到tail位置
    rb->buffer[rb->tail] = data;
    // tail指针循环(达到缓冲区大小则归0)
    rb->tail = (rb->tail + 1) % BUFFER_SIZE;
    // 有效数据计数+1
    rb->count++;
   
    return 1;
}


到底为什么报错,求指点


demo3.zip

256.23 KB, 下载次数: 1

回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:87
  • 最近打卡:2026-03-27 09:14:52
已绑定手机

4

主题

234

回帖

852

积分

高级会员

积分
852
发表于 5 天前 | 显示全部楼层
data是个类型,不能作为变量名,建议把data 改为dat
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-03-27 07:56:28
已绑定手机

1

主题

2

回帖

21

积分

新手上路

积分
21
发表于 5 天前 | 显示全部楼层
lcws*** 发表于 2026-3-22 10:10
data是个类型,不能作为变量名,建议把data 改为dat

谢谢这位朋友,一针见血,问题已解决。我自己排查了半天,用豆包也没找到原因,自身知识还是太欠缺了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:201
  • 最近打卡:2026-03-27 00:00:46
已绑定手机

15

主题

237

回帖

1382

积分

金牌会员

DIY玩家

积分
1382
发表于 5 天前 | 显示全部楼层
还有xdata也是类型
真正的学徒往往怀着大师的心
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2026-03-27 07:56:28
已绑定手机

1

主题

2

回帖

21

积分

新手上路

积分
21
发表于 4 天前 | 显示全部楼层
狂热*** 发表于 2026-3-22 17:00
还有xdata也是类型

感谢指点,环形缓冲区因为要定义大数组,xdata确实也涉及到了,不指定位置会报错
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-27 11:18 , Processed in 0.109281 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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