TI-TM4C123x学习记录(十):FPU使用注意事项

一、写在前面

逛TI论坛的时候看到关于使用FPU算pid速度慢的问题,原题主走了不少弯路,在此记录下来免得自己也掉进坑里。

估计用到FPU也在挺后面了,随便给个编号。。。

二、问题简述

在高速运算pid时(60Khz),浮点运算速度跟不上。

三、解决方案

1.软件开启FPU

ROM_FPUEnable();
ROM_FPULazyStackingEnable();    //例程中给的是ROM_FPUStackingEnable();

2.需要在CCS中选项开启(待验证)

论坛原文:

FPU的开启,除了软件开启外,还需要在CCS中有个选项,开启才可以的。至于你说的编译器优化开到最大,出现错误,也是有可能的,这个需要你单步调试确定。

3.将变量定义为volatile float类型

例如:

volatile float value = 0.0;

4.(重要)在计算中注意常数默认应改为float

计算公式中有些 x * 0.4这种的算式,这里直接使用的0.4在编译器中是默认为double类型的,导致很多运算不能用FPU执行,改成 0.4f 之后就正常了。

四、引用地址

TIVA launchpad利用FPU进行高速双环pid运算问题

https://e2echina.ti.com/question_answer/microcontrollers/tiva_arm_cortex/f/96/t/87433

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值