在我们的台式电脑上,有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑都不带这种9针串口了,所以和单片机通信越来越趋向于使用USB虚拟的串口和单片机通信,因此这一节的内容作为了解内容,大家知道有这么回事就行。
我们先来认识一下这个标准串口,串口分为9针的和9孔的,习惯上我们也称之为公头和母头,如图1所示。
图1RS232通信接口
RS232接口一共有9个引脚,分别定义是:1、载波检测(DCD);2、接收数据(RXD);3、发送数据(TXD);4、数据终端准备好(DTR);5、信号地线(SG);6、数据准备好(DSR);7、请求发送(RTS);8、清除发送(CTS);9、振铃提示(RI)。我们要让这个串口和我们单片机进行通信,我们只需要关心其中的2脚(RXD),3脚(TXD)和5脚(GND)。
虽然这三个脚的名字和我们单片机上的串口名字一样,但是却不能直接和单片机对连直接通信,这是为什么呢?随着我们了解的内容越来越多,我们得慢慢知道,不是所有的电路都是5V代表高电平而0V代表低电平的。对于RS232标准来说,它是个反逻辑,也叫做负逻辑。为何叫负逻辑?它的TXD和RXD的电压,-3V到-15V代表是1,3-15V之间的电压代表是0。低电平代表的是1,而高电平代表的是0,所以称之为负逻辑。因此电脑的9针232串口是不能和单片机直接连接的,需要用一个转换芯片MAX232来完成,如图2所示。
图2MAX232转接图
这个芯片就可以实现把标准RS232串口电平转换成我们单片机能够识别和承受的UART0V/5V电平标准。从这里大家似乎慢慢有点明白了,其实RS232串口和UART串口,他们的协议类型是一样,只是电平不同而已,而MAX232这个芯片起到的就是中间人的作用,他把UART电平转换成RS232电平,也把RS232电平转换成UART电平,从而实现标准RS232接口和单片机UART之间的通信连接。