串口通讯

这就是我们将要使用的。我希望你的电脑有一个!

不,别担心。这种连接器DE-9很久以前在PC上已经过时了。它被通用串行总线(USB)取代。 我们不会处理DE-9连接器本身,而是处理该电缆通常使用的通信协议。

那么这个串口通讯是什么?这是一种异步通信协议, 其中两个设备使用两条数据线(加上一个公共地线) 串行交换数据,一次一位。该协议是异步的,因为这两条共享线路都不承载时钟信号。相反,双方必须就在通信发生 之前沿线路发送数据的速度达成一致。该协议允许双工通信,因为数据可以同时从A发送到B以及从B发送到A。

我们将使用此协议在微控制器和您的计算机之间交换数据。现在您可能会问自己,为什么我们没有像以前 那样使用RTT。RTT是一种仅用于调试的协议。 您绝对无法找到实际使用RTT与生产中的其他设备进行通信 的设备。但是,串行通信经常使用。例如,一些GPS接收器通过串行通信发送它们接收到的定位信息。

您可能想问的下一个实际问题是:我们可以通过该协议以多快的速度发送数据?

该协议适用于帧。每帧有一个起始bit,5到9bits有效载荷(数据)和1到2个stop bits。协议的速度称为波特率。 以每秒位数 (bps) 为单位。常见的波特率有:9600、19200、38400、57600 和 115200 bps。

实际回答这个问题:在1个起始bit,8个数据bits,1个stop bit和115200bps波特率的常见配置下,理论上每 秒可以发送11,520帧。 由于每一帧都携带一个字节的数据,因此数据速率为11.52KB/s。实际上,由于通信 较慢的一侧(微控制器)的处理时间,数据速率可能会较低。

今天的计算机不支持串行通信协议。所以你不能直接将你的电脑连接到微控制器。不过幸运的是,micro:bit上的调试探针 有一个所谓的USB转串口转换器。 这意味着转换器将位于两者之间,并为微控制器提供一个串行接口,并为您的计算机提供 一个USB接口。微控制器会将您的计算机视为另一个串行设备,而您的计算机会将微控制器视为虚拟串行设备。

现在,让我们熟悉一下您的操作系统提供的串行模块和串行通信工具。选择路线: