python的程序如何写入硬件中_如何使用Python在硬件中写入寄存器?

我有一个C函数,它可以通过打开设备描述符(nf10)将其完全读/写到硬件寄存器中。我正在尝试使用Python实现同样的功能。我能读寄存器,但不能写寄存器。为什么我不能写作?有没有更好的方法在硬件中读/写寄存器?在

相关Python代码:#! /usr/bin/env python

import os

from fcntl import *

from struct import *

SIOCDEVPRIVATE = 35312

NF10_IOCTL_CMD_READ_STAT = SIOCDEVPRIVATE + 0

NF10_IOCTL_CMD_WRITE_REG = SIOCDEVPRIVATE + 1

NF10_IOCTL_CMD_READ_REG = SIOCDEVPRIVATE + 2

def rdaxi(addr):

f = open("/dev/nf10", "r+")

arg = pack("q", int(addr, 16))

value = ioctl(f, NF10_IOCTL_CMD_READ_REG, arg)

value = unpack("q", value)

value = value[0]

value = hex(value & int("0xffffffff", 16))

f.close()

return value

def wraxi(addr, value):

f = open("/dev/nf10", "r+")

arg = (int(addr, 16) << 32) + int(value, 16)

arg = pack("q", arg)

ioctl(f, NF10_IOCTL_CMD_WRITE_REG, arg)

f.close()

相关C代码

^{pr2}$

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值