LT 曾入手过一个山寨 Saleae 逻辑分析仪《山寨利器 Saleae8 逻辑分析仪》,这次用来捕捉分析一下 LM75 的 I2C 协议。
Tag Archives: LM75
Reply
USART HMI 串口屏与 Arduino 绝配
搞了一块串口触摸显示屏 USART HMI,在单片机上使用很方便。使用时可以先在PC上设计画面然后下载到屏里,单片机通过串口对屏上的对象属性进行赋值,操作屏上的对象会通过串口发送消息给单片机。
比如下图,用 Arduino 读取 LM75 的温度数值,发送给屏显示数值和趋势。
Arduino 和 LM75 的 I2C 总线通讯(4) – 温度小数部分(2)
知识的进步,在于不断的积累。某个关键的技术点,也许当时没有意识到解决方法,那么放一放,在以后的日子里,也许那个解决方法就会到来。这当中原因,很大程度是受当时认识水平的局限性所致。
就拿 LM75 温度的小数部分来说,LT 的上篇文章《Arduino 和 LM75 的 I2C 总线通讯(2) – 温度小数部分》写于 2014 年 10 月份,当时留了一个坑,是说“温度为负数时,显示的数值不正确,这个将在下一个版本里更新”,那么,现在 2016 年的 12 月的今天可以把这个坑填上了。
Arduino 和 LM75 的 I2C 总线通讯(3) – 定义LM75类
Arduino 的语言可以使用 C++ 的,所以它支持自定义对象,即 object。比如说,前面用的LM75读取温度,可以将其封装为一个类 (class),简化其使用。
Arduino 和 LM75 的 I2C 总线通讯(2) – 温度小数部分
上篇文章《Arduino 和 LM75 的 I2C 总线通讯》里,没用到LM75的小数位,现在补充上来。这样可以由原来1度的分辨率提高到0.5度的分辨率。
从LM75的datasheet上看,温度是9bits,前8bits是整数部分,第9个bit是小数部分。所以读取2个byte,第2个byte,保留最高位,然后将此位右移7位,得到1或者0两种值,如果为1,即为0.5度。