树莓派怎样安装rxtx串口驱动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派怎样安装rxtx串口驱动相关的知识,希望对你有一定的参考价值。
1.树莓派的第一排的第三,四,五个分别,也就是下图的6,8,10三个端口分别是地,TX与RX,与被连接设备连接起来。注意树莓派的TX要连接从设备的RX,树莓派的RX要连接树莓派的TX2.树莓派上只有一个串口,系统默认将它作为调试口,所以不能直接当成普通串口进行编程和使用,需要先将调试口的配置去掉,再使用。此处需要修改两处文件
2.1 修改/boot/cmdline.txt
在终端输入如下指令
[plain] view plain copy
sudo nano /boot/cmdline.txt
打开后将红色部分删除
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
删除后,变成如下结果保存退出
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
2.2 修改 /etc/inittab
在终端输入如下指令
[plain] view plain copy
sudo nano /etc/inittab
打开后将最后一行注释掉 在前面加上一个#号即可
#T0:23:respawn:/sbin/getty
-L ttyAMA0 115200 vt100
3.修改完毕后,需要在树莓派上安装一个minicom,这里的minicom是Linux平台的串口调试工具,相当于Windows上的串口调试助手
3.1 安装minicom,输入以下命令
[plain] view plain copy
sudo apt-get install minicom
3.2 安装完毕后需要对minicom进行配置,此处配置文件需要root权限,不然无法保存配置的参数,那么在命令行中输入如下命令
[plain] view plain copy
sudo passwd root
执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行
[plain] view plain copy
sudo passwd --unlock root
这样就解锁了root账户
3.3 切换到root账户,再次打开命令行,输入minicom参数配置命令
[plain] view plain copy
minicom -s
在主菜单的第三项Serial Port Setup,进入下一级菜单,根据菜单项的提示字母选择,按A将串口设备修改为 /dev/ttyAMA0 ,按E将波特率修改为9600或者自己需要的数值,设置好以后返回主菜单,选择Save Setup as Dfl
然后选择Exit,此时如果正常的话就可以进行串口收发了,这里我的树莓派是连接到一台PC上去的,我利用PC的串口调试软件成功进行了收发
tips: 按CTRL+A,接着按Z可以查看minicom的帮助 参考技术A 当出现笔记本无法启动的情况时,建议按照以下方法排除:
1.核实电源指示灯是否亮起。
2.观察屏幕是否亮起,是否可以看到蓝色背景的三星logo画面。
3.若可以看到三星logo画面,建议恢复Bios默认设置,即开机出现三星logo画面按F2进入BIOS,然后按F9,选择Yes,然后按F10保存退出。
4.若恢复BIOS无效,尝试是否可以进入安全模式,即开机出现三星logo画面按F8,选择安全模式进入。
5.若可以进入安全模式,建议在安全模式下将近期安装的软件程序卸载,并且对系统进行病毒的查杀后观察。
6.如果以上操作无效,建议将操作系统重新安装后观察(重装系统前请先将自己重要的资料备份)。
7.若无法重装系统或者重装系统无效,建议联系三星指定授权的售后服务中心检测。
若按下开机键后笔记本的电源指示灯不会亮起,那么需要检查插座和电源适配器是否都已经开启并插好,若确认无问题,那么需要直接联系三星指定授权的售后服务中心检测。
树莓派4B 串口通信
- 提前下载安装Glade图形编辑器
- 参考 树莓派4B安装netcore 环境部署、发布、执行操作
- 准备串口设备本文使用串口控制继电器设备 如图
1、发现串口
void GetSerialPort()
{
Console.WriteLine("发现串口:");
var names = SerialPort.GetPortNames();
int count = 1;
foreach (var item in names)
{
ports.Add(count.ToString(), item);
Console.WriteLine($"{count.ToString()}:{item}");
count++;
}
Console.WriteLine("输入要打开的串口编号:" + ports.Keys.Join(","));
string portName = ports["2"];
_SerialPort = new SerialPort(portName, 9600, Parity.None, 8, StopBits.One);
_SerialPort.Open();
}
2、发送协议
void SendCommand(string command)
{
Console.WriteLine(command);
var buf = command.ToHex();
if (_SerialPort != null && _SerialPort.IsOpen)
_SerialPort.Write(buf, 0, buf.Length);
}
3、Glade设计界面
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="MainWindow">
<property name="can_focus">False</property>
<property name="title" translatable="yes">继电器控制</property>
<property name="window_position">center</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
</child>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkToggleButton" id="btnOne">
<property name="label" translatable="yes">继电器1</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_markup">1</property>
<signal name="toggled" handler="on_togglebutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="btnTwo">
<property name="label" translatable="yes">继电器2</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_markup">2</property>
<signal name="toggled" handler="on_togglebutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="btnThree">
<property name="label" translatable="yes">继电器3</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_markup">3</property>
<property name="receives_default">True</property>
<signal name="toggled" handler="on_togglebutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="btnFour">
<property name="label" translatable="yes">继电器4</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_markup">4</property>
<signal name="toggled" handler="on_togglebutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="togglebutton1">
<property name="label" translatable="yes">全部打开</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_markup">0</property>
<signal name="toggled" handler="on_togglebutton1_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
源码下载 code.rar
以上是关于树莓派怎样安装rxtx串口驱动的主要内容,如果未能解决你的问题,请参考以下文章