电脑与单片机通信用什么软件?单片机和电脑的通信形式

上位机软件

上位机软件一般要求有较好的人机交互界面,通常使用VB,VC和C#来编写,现在比较流行的开发工具是QT,除了可视化的操作界面,还要有数据通信、处理及保存能力。数据通信可以通过调用现成的组件或动态链接库实现。对于数据量较少的软件,我们可以直接保存成本地数据文件,但是当保存的数据量较大,而且有查询等需求时,就要用到数据库了。

数据库

常用的数据库有SQLServer,Oracle,MySQL等等,也有轻型数据库例如Access,sqlite,mongodb等,可以根据项目的具体需求来选择。上位机软件中,可以通过sql语句来对数据库进行各种操作,比如查询,添加,删除,建表等等,非常的方便。每种开发工具中都有数据库的相关接口和数据结构,我们只要按照格式对数据进行解析就可以了。

写过一个FPGA与PC的以太网通信上位机,用Java写的,走数据链路层,其中也有一个数据存储问题,不过偷懒存到了一个log文件了,没用数据库。我对这个问题的理解,可能是单片机从其他地方,如传感器,采集到了数据,需要上传到电脑,然后存储到数据库中。那问题就明确了,首先选择一种合适的通信协议,这个不仅要考虑实现复杂度,也需要考虑数据量;然后实现对应的上位机和下位机,下位机主要完成数据的发送,上位机主要完成数据的数据库写入,当然还可以实现更丰富的功能。下位机不熟悉,有没有现成的、具有写入数据库功能的上位机,看题主自己了,如果没有只能写一个了,也不复杂,还能实现个性化。这其实也是我第一次做桌面应用,还是挺有收获的。

总结一下,选择一个通信协议、开发平台与开发语言,然后coding。个人是学习Java的,推荐上位机使用Java实现。其他语言也是可以的,语言没有好坏,全凭个人喜好

一、单片机和电脑通过串口连接

基本上所有的单片机都有串行通信接口,电脑上也配备有标准串行接口(现在的电脑主机上一般都没有串口了,但电脑本身是支持标准串口的),所以单片机和电脑之间可以通过串口进行连接。

只是有点点需要说明的是,电脑上的串口是标准RS 232接口,而单片机上的串口是TTL电平,所以两者不能直接相连,而是需要一个RS232-TTL电平的芯片才可以。

电脑与单片机通信用什么软件?单片机和电脑的通信形式

二、单片机和电脑通过USB口连接

现在很多的功能强大的单片机本身已经配备了USB接口,二现在的电脑上一般都会有好几个USB口,而USB接口电平对于电脑和单片机来说,都是一样的,所以两者可以直接通过一根USB延长线连接。

但是,由于USB接口通信协议比较复杂,所以要想让单片机和电脑之间实现USB连接,单片机这边要编写USB通信程序,这个程序要比RS232的程序复杂。

电脑与单片机通信用什么软件?单片机和电脑的通信形式

三、单片机和电脑通过USB转串口线连接

现在的电脑处于节省成本考虑(加之现在USB通信比RS232通信更快、更稳定),已经很少有电脑再配备标准串口了,所以可以通过USB转串口线,USB接口接到计算机,串口接到单片机(当然还是需要RS232电平转换芯片)