STC32G中的数学硬件库有多疯狂?
刚测试了在STC32G单片机中增加硬件数学库的情况。在STC32G单片机中没有, 同样,在后面的STC8051单片机中, 也存在这单精度浮点运算和三角函数硬件运算单元。下面将 STC32G数学库去掉。令人感到惊讶的是,去掉数学库之后的输出信号波形居然没有什么变化。首先, 将STC32G的硬件数据库加入工程文件, 此时, 主循环中计算sine函数使用硬件加速, 我们可以观察输出正弦波的波形以
STC32G单片机没有硬件加速
01 STC32
一、输出正弦波
刚才测试了PWM转换模拟信号的功能。 下面, 将 STC32硬件运算库加入工程文件中, 查看一下是否可以提高输出正弦波的速度。

二、对比结果
1、带有数学库
首先, 将STC32G的硬件数据库加入工程文件, 此时, 主循环中计算sine函数使用硬件加速, 我们可以观察输出正弦波的波形以及频率。 平稳下来, 输出正弦波的频率为 180Hz. 这反应了当前计算sine 数值的循环速度。


▲ 图1.2.1 使用数学库输出的正弦波形
2、取消硬件库
下面将 STC32G数学库去掉。 重新进行编译, 下载运行。 令人感到惊讶的是, 去掉数学库之后的输出信号波形居然没有什么变化。 数字万用表测量的正弦波的频率, 居然比前面还高。 这就令人感到费解了。 难道STC32G使用数学加速硬件, 对于计算时间并没有任何影响吗? 甚至, 增加了 硬件加速库之后, STC32G的三角函数运算速度反而变慢了呀!


▲ 图1.2.2 取消硬件库输出的正弦波形
※ 总 结 ※
刚刚测试了在STC32G单片机中增加硬件数学库的情况。 结果发现是自己想多了。 带有浮点运算和三角形运算加速硬件的是是 STC32F系列的单片机。 在STC32G单片机中没有, 同样, 在后面的STC8051单片机中, 也存在单精度浮点运算和三角函数硬件运算单元。 好吧。 对于STC32G, 它的确不配数学运算加速的能力。

补充测试
(1) STC32F单片机与 STC32G单片机的管脚是兼容的。 在原来STC32G单片机的测试电路板上, 更换上STC32F单片机。 管脚功能室完全兼容的。

▲ 图2.1.1 更换STC32F单片机
(2) 测试 STC32F中的数学库函数。

▲ 图2.1.2 STC32F单片机, 没有硬件数学库的情况下的波形

▲ 图2.1.3 带有硬件数学库对应的输出信号:STC32F
■ 相关文献链接:
● 相关图表链接:
更多推荐



所有评论(0)