粪豆 发表于 2024-11-25 13:57:26

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

我找的官方的例子,打算把发送内容弄个结构体,结果就花样报错
首先是STC32G_CAN.H本身有CAN_DataDef这个结构体定义,
typedef struct
{
      u8      DLC:4;          //数据长度, bit0~bit3
      u8      :2;             //空数据, bit4~bit5
      u8      RTR:1;          //帧类型, bit6
      u8      FF:1;         //帧格式, bit7
      u32      ID;             //CAN ID
      u8      DataBuffer;//数据缓存
}CAN_DataDef;

extern CAN_DataDef CAN1_Tx;
extern CAN_DataDef CAN1_Rx;

然后我在main.C里一用就报错
CAN_DataDef CAN32=   {8,2, 0, 0, 0x071, {0x00, 0x4C, 0x45, 0x34, 0x33, 0x58, 0x38, 0x48}};报错代码如下
main.c(86): error C25: syntax error near 'CAN_DataDef'
main.c(93): error C25: syntax error near 'while'
main.c(93): error C25: syntax error near '1'
main.c(96): error C103: 'T0_1ms': illegal function definition (missing ';' ?)如果把main那行注释掉就一切正常了!求大神指点!

粪豆 发表于 2024-11-25 14:03:08

自己把自己笨哭了,这个不能在void main(void)里头,需要提前声明!
页: [1]
查看完整版本: CAN例子一改动就报错 | 自己搞定了