uart

RS232 (FT232R) - Windows 和 Linux 下相同适配器的不同 TX 电压
uart

RS232 (FT232R) - Windows 和 Linux 下相同适配器的不同 TX 电压

我有一条 USB 转 RS232 适配器电缆 (FT232R),用于 Windows 和 Linux。因此我使用带有 pyserial 的 Python 脚本。 在Windows下,数据传输期间TX线上的最低电压为-6.2V,最高电压为6.2V。与连接设备的通信在这里完美运行。 在 Linux 下,我发送完全相同的数据(相同的 python 代码),但 TX 电压向上移动。最低电压为-0.8V,最高电压为11.8V。这里通讯失败。当我测量超过 10k 的电阻时,电压在开始时为正,并在 Linux 下的传输过程中下降(见图)。 Linux(Ubuntu)下如何...

Admin

Armbian 为 TX/RX 启用 UART2
uart

Armbian 为 TX/RX 启用 UART2

我正在尝试使用我的设备(NanoPi NEO)的UART1和来读取串行数据。UART2 到目前为止,UART1我已完全实现功能,并且可以通过读取和传输数据/dev/ttyS1。 我已启用UART2使用armbian-config硬件菜单,并且似乎已在以下位置添加了行armbianEnv.txt: # cat /boot/armbianEnv.txt verbosity=1 bootlogo=false console=serial disp_mode=1920x1080p60 overlay_prefix=sun8i-h3 overlays=uart1 u...

Admin

如何让 socat 模拟拔出串行设备
uart

如何让 socat 模拟拔出串行设备

我有这个测试程序 import sys for line in sys.stdin: print(line.strip()) print("DONE") 如果我让它从真实设备(FTDI)打印出行 python3 demo.py < /dev/ttyUSB0 然后它打印我发送的每一行,然后当我拔出 USB 电缆时,我看到DONE消息 另一方面,如果我用 socat 创建一个假 tty socat -d -d pty,raw,echo=0,link=ttyFake pty,raw,echo=0,link=ttyFake.interface ...

Admin

为什么与该设备的串行通信失败?
uart

为什么与该设备的串行通信失败?

我有两个串行转 USB 适配器连接到我的计算机,每个适配器都连接到一个微控制器。 我想做的是通过 UART(我使用的是 minicom)向每个微控制器发送命令,但只有一个成功。两者都向计算机发送数据,但只有一个能够接收数据。 这是向一台设备发送命令后的结果。 这就是其他设备上发生的情况。 并不是连接错误,因为我换成Windows,两个都可以。另外,我必须补充一点,当我尝试同时向两个设备传输信息时,适配器开始出现故障(如ttyUSB0和ttyUSB1)。在那次尝试之前它运行良好。之后,即使只有一个连接也没有关系,一个总是可以工作,另一个则不能。它被计算机识...

Admin

如何告诉 /dev/ttyUSBN 设备它是主设备?
uart

如何告诉 /dev/ttyUSBN 设备它是主设备?

使用ptys的术语,从端连接到CLI程序,主端连接到用户/键盘/终端仿真器。 我有一个 FTDI USB UART,将笔记本电脑的 USB 端口连接到嵌入式计算机的串行端口。它在我的笔记本电脑上显示为 /dev/ttyUSB0。我的笔记本电脑应该是主端,嵌入式计算机应该是从端。但是当我查看 /dev/ttyUSB0 的行为时,它显然认为我是从端。例如,当嵌入式计算机向笔记本电脑发送一个字符时,笔记本电脑会再次将该字符发送回来。 是否有一个开关告诉内核驱动程序笔记本电脑是主机,而不是从机? ...

Admin

如何使用M2 PCIe卡UART接口?
uart

如何使用M2 PCIe卡UART接口?

我有一块带有 M2 E 键插槽的主板 ( AIMB-218),根据所述主板的文档,M2 插槽支持 UART。 我正在尝试使用无线模块(Wi-Fi + 蓝牙),它具有用于控制蓝牙适配器的 UART 接口。其文档称 Wi-Fi 接口使用 PCIe 总线工作,蓝牙使用 UART 接口。 我已经在这个系统上启动了 Linux Ubuntu,但是 UART 接口没有显示在 /dev 文件夹中(只有很少的ttyS*条目与主板上存在的串行端口相对应),蓝牙控制器也没有出现在系统中的任何其他文件夹中。方式 -bluetoothctl不列出任何 HCI 设备。 该无线模块的芯...

Admin

如何将无线电模块集成到 Linux 网络堆栈
uart

如何将无线电模块集成到 Linux 网络堆栈

我想知道是否可以在 Linux 上的网络堆栈的链路层中添加无线电链路(点对点),以便程序可以使用 TCP/IP 进行通信。 假设与这些设备通信的唯一方法是通过 UART,并且已经完成了必要的无线电配对,是否有更简单的方法可以从用户空间执行此操作?这是一个高级图表,展示了在没有此功能的情况下如何进行通信。 谢谢 ...

Admin

Minicom:检测到换行符时发送字符串
uart

Minicom:检测到换行符时发送字符串

我有 3 种不同的 USB 转 UART FTDI 电缆,并使用 minicom 来调试某些设备。我的问题是这些电缆中只有一根可以缓冲字符,直到我发送换行符。例如,当我输入字符串“help”时,另一端的设备将不会输出帮助字符串,直到我按 Enter。另外两条电缆在发送时似乎没有等待换行符,输入相同的字符串“help”,我没有看到任何输出,换行符只会向我输入的内容添加新行。 每次启动 minicom 会话时我都启用了以下设置: 回声 换行 回车 我使用的电缆是: TTL-232R-3V3(这个可以用) TTL-232R-3V3 TTL-234X-3V3 ...

Admin

从运行 Debian 10 的 BeagleBone 读取 /dev/ttyS4,而不是所写内容
uart

从运行 Debian 10 的 BeagleBone 读取 /dev/ttyS4,而不是所写内容

我正在努力尝试让 ttyS4 启动并在 Beaglebone black 上运行。 我已在 /boot/uEnv.txt 中设置了 UART4(请参阅问题底部)。 在 Beaglebone 上,我将通讯角和 RS-485 A/B 连接到电池 BMS 设备。通讯速率为 9600 波特 8N1。 要嗅探我所做的内容: (stty -F /dev/ttyS4 9600 cs8 -cstopb -parenb; cat -v /dev/ttyS4) | od -t x1 我在日志中注意到,它不是预期的字节流:我应该有以 A5 01 90 08 XXXX 开头的 13...

Admin

通过 UART 查找板载串行端口时遇到问题:“-bash: echo: 写入错误:输入/输出错误”
uart

通过 UART 查找板载串行端口时遇到问题:“-bash: echo: 写入错误:输入/输出错误”

我有一个旧电视盒,最近用 Linux 擦过。我想将一个设备连接到其板载 UART 引脚,我已将连接到 PC 上 UART 适配器的电线焊接到该引脚上。我打开了一个 PuTTY 串行监视器,它读取传入的数据,同时尝试从电视盒发送数据。但每当我尝试与任何端口交互时ttyS*,我都会得到-bash: echo: write error: Input/output error.我尝试过使用echo,screen和minicom,但它们似乎都吐出了相同的错误。在摆弄 时setserial,我收到以下类型的错误消息: root@arm-64:~# setserial /...

Admin

在 Linux Mint 上手动安装驱动程序
uart

在 Linux Mint 上手动安装驱动程序

我目前正在尝试通过终端安装驱动程序。适用于 USB UART XR21B1411 串口适配器。我过去安装过它,但不记得我是怎么做的。这是驱动程序的链接:https://www.maxlinear.com/content/document.ashx?id=21651 如您所见,有一个 Makefile、两个 .h 文件和两个 .c 文件。 我该如何安装这个驱动程序?任何帮助将不胜感激! ...

Admin

如何将 GRUB2 输出重定向到 MMIO 串行 UART?
uart

如何将 GRUB2 输出重定向到 MMIO 串行 UART?

是否可以将 GRUB2 输出重定向到 MMIO 串行 UART? 例如,我有一个 UART,它在 Linux 启动日志中显示为: AMDI0020:01: ttyS5 at MMIO 0xfedca000 (irq = 4, base_baud = 3000000) is a 16550A 要获取内核启动日志,我只需添加以下内核参数: console=uart,mmio32,0xfedca000,115200n8 但是如何将 GRUB2 输出重定向到此类 UART? ...

Admin

TTY 和serial_core 有什么关系?
uart

TTY 和serial_core 有什么关系?

我需要为 UART 编写一个新的字符设备文件,它允许比通常允许的更多的文件操作(不仅仅是打开、写入等......) 我使用的是嵌入式主线 Linux 内核(v 5.4)。 我开始查看 UART 驱动程序,发现有很多东西: 首先,有很多tty文件。我知道 tty 代表电传打字机。我不认为这是一个硬件。 然后,有针对我的处理器的特定驱动程序,用于处理 UART 上的中断。 然后,有(我认为是)uart 的字符设备驱动程序,写在serial_core.c 中 我注意到serial_core.c没有文件操作结构,但使用了tty_operations。 这里发生了...

Admin

内核如何与驱动程序和设备树交互?
uart

内核如何与驱动程序和设备树交互?

我有一个在板上运行的嵌入式Linux系统。我在设备树中有一个 uart 设备,还有一个驱动程序。在这种情况下,启动后,我可以在 /dev/ 文件夹中看到 /dev/ttymxc0 “文件”。由于我需要将 UART 用于其他目的,因此我评论了设备树中的该部分,并且我可以看到现在该文件不再位于 /dev/ 文件夹中(我现在使用 ssh 与板交互)。 现在,我(出于其他原因)必须为内核中内置的 UART 创建一个新的、更简单的驱动程序,我计划在寄存器上进行写入来与 UART 交互。我的计划是开发一个驱动程序,以便在用户空间中,我可以通过函数 ioctl() 和 r...

Admin

使用指定DE引脚的rs485驱动程序
uart

使用指定DE引脚的rs485驱动程序

在嵌入式系统(带 Yocto 环境的 STM32MP1)上,我需要控制 rs485 收发器。不幸的是,DE收发器的引脚连接到 MPU 的通用 GPIO 引脚,而不是内置的DE/RTS备用功能引脚。 这意味着我需要在传输过程中手动控制该引脚。当然,这并不容易,尤其是当远程设备应答速度非常快时! 我阅读了一些关于如何在 Linux 中使用 rs485 的资源,例如: https://www.acmesystems.it/28 https://armbedded.taskit.de/node/322 但我不明白如何指定应将哪个引脚分配给该DE功能。我还在这里检查了...

Admin