数据传输从 Raspberry Pi 停止

Data Transmission Stop from Raspberry Pi

我正在尝试通过 GPIO 引脚 14(Tx) 和 15(Rx)[=] 建立通信 b/w raspberrypi(Raspbian) 和 PC(Microsoft XP) 用于 sending/receiving 数据...,RS-232 电平转换器用于将 GPIO 连接到 PC 串行 COM 端口并将电压从 3.3V 转换为 12V... 我在 raspberry 端安装了 minicom (Echo ON),在 PC 端安装了 Teraterm(ECHO OFF)。

无论我在 minicom 上输入什么,它都会成功出现在 Minicom 和 Teraterm 上,但是当我在 Teraterm 上尝试同样的事情时,它只出现在 Teraterm 上而不是在 minicom 上,并且还被 minicom 阻止 (/dev/ttyAMA0)。之后我无法将数据从 minicom 发送到 Teraterm。

但我又检查了一件事,非常惊讶的是,当将 GPIO PIN 14 和 15 短接在一起并开始在 minicom 上打字时……它只显示一个字符并在那之后停止……

我再次通过 closing/opening minicom 重复整个过程,再次它只显示字符然后停止。

你能告诉我为什么会这样吗?我该如何解决?

我刚从 this link 上看到有人也遇到了你的问题,但不完全是你所面临的问题。

发生这种情况是因为内核接管了控制台的控制权,所以从启动时断开控制台和内核的连接是非常重要的。

现在您可以按照以下步骤操作,相信您一定会摆脱这个烦恼...

通过这个命令开始编辑这个文件

sudo vi /boot/cmdline.txt

最初包含:

dwc_otg.lpm_enable=0 rpitestmode=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

删除涉及串口(ttyAMA0)的两个参数得到如下:

dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

重新启动(sudo 重新启动)以确认内核输出不再进入串行端口。但是串行控制台仍然可用。所以编辑 /etc/inittab:

sudo vi /etc/inittab

注释掉以下行:

2:23:respawn:/sbin/getty -L ttyAMA0 9600 vt100

最后,再次重启,确认没有任何东西再接触串口了。然后,在 Raspberry Pi:

上安装 minicom 进行测试
sudo apt-get install minicom

和运行它:

minicom -b 9600 -o -D /dev/ttyAMA0

完成后,可以双向发送数据了!