小编Aat*_*ikh的帖子

是否可以与 /dev/bus/usb/<bus>/<device> 进行串行通信

我正在开发一个项目,在该项目中我必须与连接的设备(ttyS0、ttyS1 或 ttyUSB0)进行一些串行通信。幸运的是,我遇到了一个非常有用的 stackoverflow 链接:“ Simple way to query linked USB devices info in Python? ”。在此链接中,有一个 python 代码,它工作得很好,并且提供了正确的设备名称和详细信息。

示例代码中:“/dev/bus/usb/005/002”是“FT232 Serial (UART)”的设备信息。那么,有没有办法找到 /dev/bus/usb/005/002 与 ttyS0/ ttyUSB0 的映射或使用设备信息直接访问 UART,并使用“/dev/bus/usb/<总线 >/< 设备 >" 而不是 ttyS0 或 ttyUSB0。

蟒蛇代码:

import re
import subprocess
device_re = re.compile("Bus\s+(?P<bus>\d+)\s+Device\s+(?P<device>\d+).+ID\s(?P<id>\w+:\w+)\s(?P<tag>.+)$", re.I)
df = subprocess.check_output("lsusb")
devices = []
for i in df.split('\n'):
    if i:
        info = device_re.match(i)
        if info:
            dinfo = info.groupdict()
            dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device'))
            devices.append(dinfo)
print devices
Run Code Online (Sandbox Code Playgroud)

结果:

{'device': '/dev/bus/usb/001/001', 'tag': 'Linux Foundation 2.0 root …
Run Code Online (Sandbox Code Playgroud)

python linux serial-port

6
推荐指数
1
解决办法
4388
查看次数

如何使用多核而不是多线程进行编程?

我正在研究一个项目(硬件:RaspberryPI 3B +),该项目具有大量的计算和并行处理。目前,我注意到代码性能有些滞后。因此,我一直在寻找有效的方法来改善代码及其性能。

目前,我正在使用C语言(因为我可以轻松地访问和操作较低级别的驱动程序)并开发自己的一组函数,库和驱动程序,其运行速度比任何其他预定义或现成的库或插件都要快。

现在,我想使用单独的内核来执行相应的任务,而不是基于软件的多线程读取(Pthread)。那么,关于如何使用RaspberryPI的不同核心的任何建议或指南?

此外,如何检查CPU使用率以选择最佳内核来执行特定任务?

致谢,阿提夫·谢赫(Aatif Shaikh)

c++ multithreading raspberry-pi

0
推荐指数
1
解决办法
108
查看次数

标签 统计

c++ ×1

linux ×1

multithreading ×1

python ×1

raspberry-pi ×1

serial-port ×1