为什么调用python的fcntl.ioctl会给出无效参数错误



我正在尝试通过以下方式使用python的fcntl包中的命令fcntl.ioctl

buf = array.array('h', [0])
fcntl.ioctl(file_handler, 21780)
fcntl.ioctl(file_handler, 21780, buf)
fcntl.ioctl(file_handler, 21780, buf, 1)

即它的所有三个版本,file_handler使用 open 创建的文件处理程序。每个都给我相同的错误:

IOError: [Errno 22] Invalid argument

简单的问题:如何正确拨打fcntl.ioctl?还是改用fcntl.fcntl

看起来您使用了错误的文件。您的示例 C 代码引用 /dev/bus/usb/<bus_id>/<device_id> ,而不是 /dev/ttyACM0

最新更新