# 在树莓派上使用RS232(连接到Psion5)

- URL: https://wuming.si/blog/249/
- Author: Aaron
- Published: 2013-08-26
- Language: zh-Hans
- Categories: Raspberry Pi, Technology
- Originally published at: https://blog.wo.ai/archives/249

原文地址：[http://blog.mrpjevans.com/2012/1 … ry-pi-to-a-psion-5/](http://blog.mrpjevans.com/2012/10/rs232-on-the-raspberry-pi-to-a-psion-5/)

(笔者注：Psion5是Psion公司出的一款掌上电脑)

树莓派的通用输入输出口（GPIO）由26针组成，是黑客们的最爱，能够使用模拟或者数字信号的操作。翻遍了手册，我发现居然连基本的串口都没有。也就是我们上个世纪的老朋友，RS232，这是一个低功耗版本。对于那些完全不知道我说什么的人，不用担心，即使这个帖子不太适合你。RS232看起来像是以前那些学校废弃的技术，但实际上它是我们身边最简单的两机通讯的方式。

庆幸的是，搞Pi的那些聪明的家伙，使用串口作为控制台，也就是说，你可以用它登录然后得到一个命令行。我白天的工作就是在一个数据中心管理一堆的服务器。尽管他们有很多最新的、功能强大的工具包，无一例外的是他们都配有串口。当显卡不能正常工作时，至少你还可以通过这个接口来登录系统。

![](http://mrpjevans.com/images/2012/10/raspi-gpio.png)

Pi上提供的串口使用起来很简单。只需要4条线：电源，发送，接收，地。没有更简单的方法了，直接把这些线连接到电脑的COM口，对不对？

嗯，不对。这其中有一个问题，Pi用的电压是3.3v，RS232需要+12V作为高电平(1)，-12v作为低电平(0)。Pi自身没办法做到，通过google可以找到很多现成的解决方案。幸运的是，有一个现成的芯片可以双向转换信号，让我们可以从pi的低电压信号转换成一个“真正的”RS232接口。这个价格大概是5镑，名字叫MAX3232CPE。只需要小部分的电容就可以。

到了我们开始干活的时候了。我从本地的Maplin买到了所有的配件(下面提供了链接和编号)：  
一个Max2323CPE集成电路(DT26D)  
一个16针DIL IC插座(BL19V)（如果你有面包板，这个就不需要了）  
5个0.1uF电容(N43CJ)  
9针D-Type插座  
线  
杜邦线（A39GF）  
一些洞洞板（FL17T）（虽然我强烈建议一开始用面包板）

当然还有：  
一点焊接经验  
一个COM/串口

我这里还出现了一个问题。作为Mac用户，我知道乔布斯多年前就放弃了RS232口，采用兼容性很好的usb接口。幸好Maplin还卖一个基于PL2303芯片usb转串口的适配器，在OS X上运行的很好，包括山狮，但是我花了不少时间来找驱动和步骤。

开始干活，这就是我们要做的：

![](http://mrpjevans.com/images/2012/10/Pi-RS232-1024x700.png)  
最开始我在面包板上完成了，按照Joonas Pihlajamaa的步骤（链接在文末）。如果你还是个新手，在面包板上插IC芯片，还是要小心一些，把所有的针脚都插进去。在这个时候不需要用插座。下一步，我焊接了一个9针的连接器。我把RXD焊到针脚2，TXD焊到针脚3，地为针脚5（右上）。  
![](http://mrpjevans.com/images/2012/10/rs232-breadboard-1024x768.jpg)  
现在你关闭Pi，从集成电路的1,6,8,10针脚连接这4条线到Pi。针脚1时左上，标记为P1。在它右边是针脚2。然后针脚1下是3，右边是4，以此类推。

这四条线是这么连接的：  
Pin 1 – +3.3V  
Pin 6 – Ground  
Pin 8 – TXD (发送数据)  
Pin 10 – RXD (接收数据)

将9芯的RS232连接到你的COM接口，然后打开Pi。  
你的Pi应该正常启动，根本不知道建了新连接。现在把你的注意力放到你的电脑。

你需要有个软件能够连接到你的Pi。在windows上，你可以用PuTTY。在mac上，试试看MacWise,或者直接用linux上的命令行工具，比如screen

如果你打算用screen,来看看他是和么安装的

  1. $ screen -h

复制代码

命令不存在？那就安装吧

  1. $ apt-get install screen</p><p>$ screen /dev/ttyUSB0 115200

复制代码

或者你已经安装了MacPorts

  1. $ port install screen</p><p>$ screen /dev/tty.usbserial 115200

复制代码

注意：在/dev/可能有很多设备，取决于操作系统和驱动程序等。看看你的/dev/目录下是不是存在。可以找tty或者usb开头的那些。

屏幕应该会变成空白，按一次回车键后会出现登陆提示，然后可以到Pi的配置。

如果你用一个更高级的包，记住RS232工作前还需要配置。Pi的设置是115200bps(波特率),8位，无校验，一个停止符。这个通常标记为115200 8N1，你需要改成这个设置。一旦配置好，打开或者连接（取决于你软件怎么用）然后按回车就可以了。Pi的登录提示应该就会出来了。

无法运行？十之八九是你PC端的的RXD和TXD没接对。断开连接关闭Pi，在面包板上把这两条线换一下。如果这样还不工作，检查你终端的设置。

我决定通过给Pi届一个屏幕和键盘让它得到一个合乎逻辑的结论（在我的脑子里），也就是Psion5。然后一开始无法正常工作，因为不管是Psion还是Pi都希望自己是可以和电脑通信的“客户端”。我需要一个交叉线，把RXD和TXD交换一下，最后可以跑了。  
![](http://mrpjevans.com/images/2012/10/2012-10-10-17.14.58-300x225.jpg)

![](http://mrpjevans.com/images/2012/10/2012-10-10-17.15.31-300x225.jpg)  
只要在面包板上可以运行了，就很容易把IC移植到洞洞板，让它做一些持久地工作。

你可能奇怪为什么要这么做，事实是很多设备依旧在使用RS232通信。你可以在投影机、机顶盒甚至车上找到RS232接口。即使我一个很老的洗衣机上也有一个。所以，让Pi拥有一个很好用的RS232接口将会很有意思。通过google你还可以将目前登录命令行改成你想要的。我将会怎么用它？它将会是另外一个贴子。

Sources for this article:  
Joonas Pihlajamaa  
<http://codeandlife.com/2012/07/01/raspberry-pi-serial-console-with-max3232cpe/>

speakjava  
<https://blogs.oracle.com/speakjava/entry/serial_communications_with_a_raspberry>
