定义变量问题

2019-07-20 19:36发布

extern struct data4
{
        u16 close_data0[1500];
        u16 close_data1[1500];
        u16 open_data0[1000];
        u16 open_data1[1000];
        u16 c_weiyi_A0[1500];
        u16 c_weiyi_A1[1500];
        u16 c_weiyi_B0[1500];
        u16 c_weiyi_B1[1500];
        u16 c_weiyi_C0[1500];
        u16 c_weiyi_C1[1500];
        u16 o_weiyi_A0[1000];
        u16 o_weiyi_A1[1000];
        u16 o_weiyi_B0[1000];
        u16 o_weiyi_B1[1000];
        u16 o_weiyi_C0[1000];
        u16 o_weiyi_C1[1000];
}BUFFER_DATA;

        u16 close_data0[1500]__attribute__((at(0x68000000)));
        u16 close_data1[1500]__attribute__((at(0x68000C00)));
        u16 open_data0[1000]__attribute__((at(0x68001800)));
         .
         .
         .
上述写法能否表示为将结构体内的变量定义在了外部SRAM中?




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 00:21
不会。你要用typedef定义成一个类型,才可以。
aiwuxiao
2楼-- · 2019-07-21 05:03
谢谢原子哥,还有一个疑问,如果是将
u16 close_data0[1500]__attribute__((at(0x68000000)))之后的去掉,在声明完结构体后,用

#define  BUFFER_DATA   (*(u16 * )0x68000000)  这样可以吗?
aiwuxiao
3楼-- · 2019-07-21 06:47
 精彩回答 2  元偷偷看……

一周热门 更多>