OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3220|回复: 2

结构体赋初值问题

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-10-5
在线时间
4 小时
发表于 2018-2-6 22:59:16 | 显示全部楼层 |阅读模式
3金钱
用F767的DSP做单精度浮点运算,发现用arm_cortexM7lfsp_math进行计算时,变量不给赋初值0.0f,则系统编译按照双精度编译运行,计算速度下降很多。现在我想用结构体进行变量声明,如下
typedef struct
{
        float acc_tmp_x[3];
        float acc_tmp_y[3];
        float acc_tmp_z[3];
        float acc_x;
        float acc_y;
        float acc_z;
}ACC_Type;
extern ACC_Type ACCX_Type;

想在变量声明时赋初值,不知如何操作,谢谢。

最佳答案

查看完整内容[请看2#楼]

如果C/C++頁面沒開啟C99 mode , 只能照成員順序給初值 ACC_Type ACCX_Type={ 1, 0, 0, 0, 2, 0,.....}; C99 mode 有打勾的話,可以指定成員給初值 ACC_Type ACCX_Type={ .acc_tmp_x[0]=1, .acc_tmp_y[1]=2, .acc_tmp_z[2]=3, };
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
发表于 2018-2-6 22:59:17 | 显示全部楼层
如果C/C++頁面沒開啟C99 mode , 只能照成員順序給初值
ACC_Type ACCX_Type={ 1, 0, 0, 0, 2, 0,.....};

C99 mode 有打勾的話,可以指定成員給初值
ACC_Type ACCX_Type={
.acc_tmp_x[0]=1,
.acc_tmp_y[1]=2,
.acc_tmp_z[2]=3,
};

回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-10-5
在线时间
4 小时
 楼主| 发表于 2018-2-7 10:43:07 | 显示全部楼层
已经验证,谢谢。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 06:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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