在我们的台式电脑上,有一个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之间的通信连接。