近日武汉气温持续升高,昨日更是突破30°高温,下午室内温度已达二十七八度。这时发现LED3216电子钟的温度一直显示为一点几到两点几度,百思不得其解,最开始怀疑是DS18B20出了问题,但是发现温度测量依然是线性的,意识到是软件方面的Bug。遂进一步观察现象,发现温度以25.5度为界,低于25.5度则显示正常,超过25.5则从0开始。瞬间意识到是某个需要定义为int型的变量定义成了char型!My God!居然犯下了如此错误。
因为产品没有做过测试,在冬天的环境下发现不了问题,直到现在问题才暴露。这也说明了产品测试的重要性。
温度检测的重大失误给爱好者带来的麻烦敬请谅解!
这是修改后的hex文件:LED3216_dianzizhong.txt(右键目标另存为,需要将扩展名txt改为hex)
建议大家每隔一段时间下载一次,因为每发现一些小错误,我都会更新覆盖以前的hex文件。