关于STM32没有硬件浮点单元的纯经验之谈,是否可以在stm32上用float运算?

STM32尽管在MCU领域算是资源和算力还可以的,但是真的不要把它想的太厉害,因为它真的只适合做一些简单的控制。如果希望他实时产生正弦波或者指数或者三角波,最好是事先计算好然后查表。或者就用DSP。。因为使用math.h库里的sin或者exp函数,十分耗时,具体耗时多少,我也没准确测量。

另外,没有硬件浮点单元,最好也别用float计算,除非更新频率很低。笔者粗略的试了一下,对一个浮点乘法,单步仿真至少要点70次左右,而进行一套(1乘1除1加)整数运算,仅需要点7次,也就是说,整数的加、乘运算基本上都可以在1个指令周期内完成(除去指针跳转),按照数据手册上说的:

最大的算力是90DMIPS。

 

写本博客的目的,不是为了精确得到某个计算的执行时间,而仅仅是为了给自己提个醒,,别再犯错。因为最近在用STM32做带各种波形的AM调制信号输出,代替昂贵的DDS,提供低成本的解决方案。希望对看到的朋友们在日后的开发过程中有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值