作为硬件开发工程师、电子技术爱好者而言,没有人不喜欢万用表、示波器、逻辑分析仪、函数发生器,烧录器等设备。比如我吧,就整了好几个万用表(有用坏的,有公费买的,有自费买的),一台示波器,一个小的逻辑分析(最简单的那种,类似STM32做的示波器那种小装置)。平时做些小东西,示波器也许用不到,但关键时候还是很有用的,尤其是现在随着单片机的飞速发展,主频越来越高,功能越来越多。
对电子工程师,在开发诸如IIC、UART、SPI、CAN等和波形、协议有关的程序时,测试时,如果有问题,没有示波器进行调试,是真的很难。我是深有感触,早以前调试IIC、SPI接口的液晶显示器时,因为手里没有示波器进行观察,出问题时,都是绞尽脑汁,思考问题点。一点点通过代码分析和调试状况,使用猜测、验证观察这样的循环方式来解决。这种办法解决了不少问题,但对于脉冲周期,时序的匹配之类的测量,就真的是无能为力了。后来终于咬咬牙买了便宜的逻辑分析仪和示波器,那种几千、上万的设备不是没考虑过,但毕竟这是个人爱好,不敢投入太多,毕竟家不是一个人说了算的,嘿嘿嘿,可不敢放飞自己,狂野一下。
这两天在做SPI例程的时候,看着SPI的工作特点,瞬间想到用74HC164这种可以实现串并转换的集成块,它的特性完全可以匹配SPI的输出特性。于是用动手试验了下,果然可以。例程处理完了以后,就自然而然地联想到,这种显示方式是不是也可以应用到IIC呢。仔细想想,是真可以。用多片74HC164级联,再配合程序,是可以一次性铺捉到一个完整的IIC通讯数据的。只要能在主机端控制住发送周期,就可以利用LED+74HC164,直观地显示出来。在没有示波器观察的情况下,这种组合测试工具,很便宜不说,最主要的是不难制作。有兴趣的伙伴,不妨自己动手试试哈。反正也花不了多少钱。动手制作本身,不就是一个乐趣吗?