文章目录
1 串口的硬件初步认识
串口是一种通信方式。
不同型号单片机串口数量不一样,比较高级的单片机有多个串口。下图中的单片机有2个串口资源。
串口对于单片机而言就是指2个引脚进行通信,如下图,一根引脚是RXD,代表接收数据引脚;一根引脚是TXD,代表发送数据引脚。注意串口引脚的名字取名方式。单片机想发送数据,是用TXD发出去。想接收数据,是用RXD接收。
单片机和电脑通信需要有一个中间芯片,起到中间桥梁作用,一方面接受单片机信息,一方面将信息发送到电脑;或者一方面接受电脑信息,一方面将信息发送到单片机。是双工通信,互不影响,可同时进行。
中间桥梁芯片一般是CH340、PL2303这些芯片。
单片机的特定引脚用于串口通信,生产厂商规定的,举几个例:
在51单片机中,只有一个串口可以用,P3.0和P3.1这2个引脚。下图就是51单片机引脚图,注意串口引脚的名字。
在MSP430F149单片机中,P3.4和P3.5被称为串口0,P3.6和P3.7被称为串口1.这款单片机有2个独立的串口资源可以使用。
在MSP432P401R芯片中,有4个独立的串口资源可以使用。
在STM32F103C8T6芯片中,有3个独立的串口资源。
2 中间桥梁芯片硬件电路
下图是一个使用CH340芯片制作的一个模块。左边USB肯定是插电脑上了,右边有5个针,拔掉那个黄色的跳线帽后使用,5个针从上到下是 5V 3V3 TXD RXD GND。这5个针和单片机芯片这么连接:
CH340模块----单片机芯片
GND-------------GND
RXD--------------TXD
TXD--------------RXD
GND接在一起是必须的,为了在同一参考电压下。
CH340模块的RXD引脚是对于CH340自身而言的接收引脚,单片机的TXD发出数据后,CH340模块使用自己的RXD引脚接收数据。
CH340模块的TXD引脚是对于CH340自身而言的发送引脚,CH340模块使用自己的TXD引脚发送数据后,由单片机的TXD接收数据。
如果单片机还需要电脑供电,可以选择将CH340模块5V或者3V3接到单片机的供电引脚。
3 电脑如何识别 中间桥梁芯片
电脑想要识别CH340,需要给电脑装驱动程序。下图这个,
双击后出现安装界面,安装即可。或者先点卸载,再点安装。安装完之后就会有安装成功的提示。
这个时候再将CH340模块插入电脑。电脑上就会挂载这个设备,我们从何得知呢。步骤如下:
电脑插上CH340模块。
右键点击此电脑,出现选项后点属性。
点击设备管理器。
展开端口。端口列表里会有一个USB-SERIAL CH340字样的设备,设备挂载在COM4端口。记住这里的COM4。我的是COM4,这是电脑*分配的结果。
注意:一台电脑可以插多个CH340模块,在这里就会有多个COM口,如果我插2个会是下图这样:
如果你的这里是感叹号,代表了CH340模块没有被电脑识别,有可能是电脑的驱动安装得不对,也可能是别的原因。
4 串口调试助手
电脑虽然识别了CH340设备,分配有了COM口。但是电脑还得利用软件去打开COM口,接收这个数据。
这种软件就叫串口调试助手,串口调试助手多种多样,使用方法都差不多。
下图中,选择合适的COM口,我这里是选COM4,选择合适的波特率,这个波特率取决于单片机串口工作的波特率,应该相等。然后点击打开串口。这个时候这个串口调试助手软件就能够检测到COM4的数据。
单片机发送数据,CH340模块接收后发送到电脑COM4,串口调试助手软件检测COM4的数据,然后显示到小黑框里去。
电脑想要发送数据,只需要在串口调试助手软件的下方框里写想发送的数据,点击右方发送按钮,数据就会通过COM4发送到CH340模块,CH340模块接收后发送给单片机。
5 为什么需要CH340模块
单片机能够直接链接到电脑吗?
不能。就算MAX485 MAX232也是需要中间件的。中间件的存在是必要的,安全,通用,兼容性高,符合系统需要。
6 CH340模块可以换成别的吗
可以。都相似,比如你用PL2303芯片,你就得装一个PL2303芯片的驱动程序在电脑上。
7 单片机开发版设计理念1
在前面的讲述中,我们使用了CH340模块,对于很多开发板来说,都把这个CH340模块嵌入到了开发板上。
下图的51单片机开发板,CH340芯片在左下角,可以看到身上有P30 P31的线,也有UD+ UD-的线。
实物上:
8 单片机开发版设计理念2
下图是一块MSP432P401R开发板。
插电脑上后,看COM,第一个就是挂载的UART设备COM,我们用串口调试助手肯定是打开这个COM。
第一个COM估计是用来下载程序的。
驱动程序是安装CCS或者IAR里就带了驱动了,所以能识别COM。这单片机板子上的硬件和程序必然是和电脑的COM兼容设计的,其中的设计原理和细节留给大家慢慢学习。