对NTC电阻测量温度的两种不同算法(Steinhart-Hart以及查表法)的性能进行实测对比:
由于Steinhart-Hart需要使用对数log运算以及浮点数运算。
需要编入math库函数,因此占用了将近10KByte的ROM空间,耗时为211us。
而查表+线性插值法仅占用344Byte的ROM空间,耗时仅为13us。
如果用二分查找法,耗时可能不到1us。
下周准备跟同事分享这个测试结果,并协助他们将测温代码还用查表+线性插值实现。
另外,对于单价几毛钱,没有硬件乘法器,ROM空间仅为几KByte的OTP单片机,查表+线性插值法才是正确选择。
附图代码中的乘法运算需要改成移位运算,比如变量a*10,需要改写成a * (8 + 2) = (a << 3 + a << 1)