66. TFA
66.1. 概述
示例工程展示了TFA计算的精度和性能,支持以下8种函数计算:
INV(x)
SQRT(x)
SIN(x)
COS(x)
POW(2,x)
log2(x)
arctan(x)
INV(SQRT(x))
66.2. 硬件设置
无需特殊的设置
66.3. 运行程序
默认开启FPU,以获得最佳计算性能;同时,提供了不开启FPU的方案。
当该例程成功运行后,会在串口终端打印如下菜单:
*********************************************************************************
* *
* TFA Example Menu *
* *
* 0 - Run basic test, compare value and time with math lib *
* 1 - Run interrupt test, max test 4 nest interrupt *
* *
*********************************************************************************
开启FPU:
菜单选项 0 ~ 7 测试了 TFA 8种函数的基本使用方法, 计算结果和库函数计算结果的差值比较, 计算周期和库函数计算周期的比较, 运行结果如下:
0
tfa and math diff value:-0.000000, math calculation time:33 ticks, tfa calculation time:62 ticks.
1
tfa and math diff value:0.000000, math calculation time:363 ticks, tfa calculation time:63 ticks.
2
tfa and math diff value:0.000000, math calculation time:1755 ticks, tfa calculation time:63 ticks.
3
tfa and math diff value:0.000000, math calculation time:1826 ticks, tfa calculation time:63 ticks.
4
tfa and math diff value:0.000000, math calculation time:3031 ticks, tfa calculation time:63 ticks.
5
tfa and math diff value:-0.000000, math calculation time:2875 ticks, tfa calculation time:63 ticks.
6
tfa and math diff value:-0.000000, math calculation time:1959 ticks, tfa calculation time:180 ticks.
7
tfa and math diff value:-0.000000, math calculation time:552 ticks, tfa calculation time:63 ticks.
菜单选项 8 测试了基于上述运算的一个复杂计算, 计算结果和库函数计算结果的差值比较, 计算周期和库函数计算周期的比较, 运行结果如下:
8
tfa and math diff value:-0.000000, math calculation time:9088 ticks, tfa calculation time:290 ticks.
不开启FPU:
菜单选项 0 ~ 7 测试了 TFA 8种函数的基本使用方法, 计算结果和库函数计算结果的差值比较, 计算周期和库函数计算周期的比较, 运行结果如下:
0
tfa and math diff value:-0.000000, math calculation time:67 ticks, tfa calculation time:248 ticks.
1
tfa and math diff value:0.000000, math calculation time:357 ticks, tfa calculation time:234 ticks.
2
tfa and math diff value:0.000000, math calculation time:1703 ticks, tfa calculation time:235 ticks.
3
tfa and math diff value:0.000000, math calculation time:1764 ticks, tfa calculation time:237 ticks.
4
tfa and math diff value:0.000000, math calculation time:2989 ticks, tfa calculation time:250 ticks.
5
tfa and math diff value:-0.000000, math calculation time:2863 ticks, tfa calculation time:227 ticks.
6
tfa and math diff value:-0.000000, math calculation time:2045 ticks, tfa calculation time:346 ticks.
7
tfa and math diff value:-0.000000, math calculation time:539 ticks, tfa calculation time:228 ticks.
菜单选项 8 测试了基于上述运算的一个复杂计算, 计算结果和库函数计算结果的差值比较, 计算周期和库函数计算周期的比较, 运行结果如下:
8
tfa and math diff value:-0.000000, math calculation time:9178 ticks, tfa calculation time:1263 ticks.