单片机的上位机在各个项目的进程中起到的作用至关重要,它可以将单片机的工作状态以及你想要知道的一些参数形象准确的通过友好的界面表现出来。你只需要点点人机界面的按钮就可以得到想要的结果,而不必再亲自动手频繁的操作各种仪器去获得各种参数。从而加速项目的进度,提高准确性,效率提高的也不是一点半点。当项目完成交付客户使用或生产,如果需要人工控制和操作、设置工作状态等。还是需要一个简单好用的操作界面。所以上位机在单片机应用开发领域炙手可热。
目前被广泛使用的上位机软件不外乎LabVIEW、VB、VS、VC、Delphi、C#、JAVA这几种,各有各的优点。其中LabVIEW虽然在工业测试领域已经成为毋庸置疑的老大,各种工具包齐全,控键也是应有尽有,但是它的缺点也显而易见。现在软件的规模越来越大,功能强大的软件占用的计算机资源也越来越多。这导致了它对运行它的硬件条件的要求也很高,这无疑也增加了工业大规模使用成本。就算个人电脑目前大多配置还算不错,可是运行起来还是会明显感觉到速度变慢。如果同时还想跑别的程序电脑很容易崩溃。
虽然LabVIEW提供了丰富的控件包,可是有时候用户还是想做符合自己要求的控件。但是这种想法目前想在LabVIEW上实现不是一般的难(简单一点的想法还可以,稍微复杂一点就会有很多限制),这一定程度上暴露了LabVIEW封闭的特点。
所以LabVIEW在上位机编写领域属于重型装备。功能强大、开发快速、使用简单、门槛低,在单片机应用开发的单机测试中用的比较多。但是它霸道的硬件要求,以及灵活性,开放性方面的缺点也在一定程度上制约了它的发展。如果它能保持现有的功能,恢复到VB的“身材”,拥有JAVA的灵活,那么它绝对“艳冠群芳”。
C#和Java用在联网设备的上位机开发上优势明显,有强大的联网控件和灵活多变的实现方式。但是门槛比较高一点,坚实的C语言基础必不可少,而且开发速度和LabVIEW不在同一数量级上。虽然现在可以找到现成的功能语句,复制粘贴就可以完事了(这也是开源的一个优点),但是一整个项目不可能找到相同的,那么接下来就要花费很多时间去调试代码的正确性和控件的协调性(如果人品不佳的时候,比自己写花费的时间还长)。
虽然C#和Java的开发环境对硬件要求没有LabVIEW高,也够灵活(有广阔的空间让你发挥灵感)。但是在“快”上缺的明显。
VB不是强类型语言,做做功能不复杂,数据处理、通信要求不高的应用还是可以的。在上述的几种语言里属于最底层。Delphi确实已经没落了,在C语言当道的今天“真正的程序员用c,聪明的程序员用Delphi”这句话已近显得那么的无力。
VS实际意义上来说它是一个集成式的平台,它将微软这些年来的开发工具集为一体。功能是强大的没法说,也灵活。可是也同样面临LabVIEW“体重”超标的问题。在“快”上面临着和C#和Java同样的困境。
有人觉得TI的WEBENCH是可以借鉴的方式,将庞大的资源置于云端。使用时只要调用相关资源,无需安装对硬件要求苛刻的客户端。所有计算、设计全部可以在云端完成。这样既节省了客户端的硬件资源,也方便将更多设计资源整合。灵活性和快速性也得到提高,一举两得。
总的来说,目前单片机上位机开发工具在“轻、快、灵活”这三个方面难以兼顾,只能权衡后做取舍。期待把轻、快、灵活集于一身的单片机上位机编程工具的出现,如果开源免费就更好了!