找回密码
 立即注册
查看: 364|回复: 1

CAN例子一改动就报错 | 自己搞定了

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-01-10 09:12:27
已绑定手机

5

主题

16

回帖

123

积分

注册会员

积分
123
发表于 2024-11-25 13:57:26 | 显示全部楼层 |阅读模式
我找的官方的例子,打算把发送内容弄个结构体,结果就花样报错
首先是STC32G_CAN.H本身有CAN_DataDef这个结构体定义,
  1. typedef struct
  2. {
  3.         u8        DLC:4;          //数据长度, bit0~bit3
  4.         u8        :2;             //空数据, bit4~bit5
  5.         u8        RTR:1;          //帧类型, bit6
  6.         u8        FF:1;           //帧格式, bit7
  7.         u32        ID;             //CAN ID
  8.         u8        DataBuffer[8];  //数据缓存
  9. }CAN_DataDef;
  10. extern CAN_DataDef CAN1_Tx;
  11. extern CAN_DataDef CAN1_Rx[8];
复制代码
然后我在main.C里一用就报错
  1. CAN_DataDef CAN32  =   {8,2, 0, 0, 0x071, {0x00, 0x4C, 0x45, 0x34, 0x33, 0x58, 0x38, 0x48}};
复制代码
报错代码如下
  1. main.c(86): error C25: syntax error near 'CAN_DataDef'
  2. main.c(93): error C25: syntax error near 'while'
  3. main.c(93): error C25: syntax error near '1'
  4. main.c(96): error C103: 'T0_1ms': illegal function definition (missing ';' ?)
复制代码
如果把main那行注释掉就一切正常了!求大神指点!

1.png
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-01-10 09:12:27
已绑定手机

5

主题

16

回帖

123

积分

注册会员

积分
123
发表于 2024-11-25 14:03:08 | 显示全部楼层
自己把自己笨哭了,这个不能在void main(void)里头,需要提前声明!
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 08:47 , Processed in 0.301179 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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