首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请高手看看c程序的小问题

[求助]请高手看看c程序的小问题

请高手看看为什么这样不行呢?

定义结构数据如下:

union BYTE8{
LWORD l[2];
WORD w[4];
BYTE b[8];
};
typedef volatile struct {
 WORD control;
 LWORD id;
union BYTE8 data;
WORD reserved;
} msg_buf;

再把msg_buf型的MB0定位到单片机的0xfff100

#define MB0 *(can_msg_buf *) 0xfff100

在main函数中赋值却通不过编译:

main()

{

.......

MB0.id = 0x00000000;

.........

}

错误提示MB0.id = 0x00000000这行有错误:struct or union type expected

 

请问这样为什么不行?

正确的语法应是
#define  MB0 (*(volatile can_msg_buf *) (0x00fff100))
另外,msg_buf 的名称不配合。(应是can_msg_buf吧!)
返回列表