一、输出正弦波
刚才测试了PWM转换模拟信号的功能。下面,将 STC32硬件运算库加入工程文件中,查看一下是否可以提高输出正弦波的速度。
首先,将STC32G的硬件数据库加入工程文件,此时,主循环中计算sine函数使用硬件加速,我们可以观察输出正弦波的波形以及频率。平稳下来,输出正弦波的频率为 180Hz. 这反应了当前计算sine 数值的循环速度。
▲ 图1.2.1 使用数学库输出的正弦波形
下面将 STC32G数学库去掉。重新进行编译,下载运行。令人感到惊讶的是,去掉数学库之后的输出信号波形居然没有什么变化。数字万用表测量的正弦波的频率,居然比前面还高。这就令人感到费解了。难道STC32G使用数学加速硬件,对于计算时间并没有任何影响吗?甚至,增加了 硬件加速库之后,STC32G的三角函数运算速度反而变慢了呀!
▲ 图1.2.2 取消硬件库输出的正弦波形
刚刚测试了在STC32G单片机中增加硬件数学库的情况。结果发现是自己想多了。带有浮点运算和三角形运算加速硬件的是是 STC32F系列的单片机。在STC32G单片机中没有,同样,在后面的STC8051单片机中,也存在单精度浮点运算和三角函数硬件运算单元。好吧。对于STC32G,它的确不配数学运算加速的能力。
如何无冒险更新PWM数值?: https://zhuoqing.blog.csdn.net/article/details/144985098
[2]利用PWM输出模拟电压:STC32G 驱动 GP8500: https://zhuoqing.blog.csdn.net/article/details/144979365
[3]STC32F中的硬件浮点库: https://zhuoqing.blog.csdn.net/article/details/131327772