我需要有关此C代码的python版本的帮助:
#define HostBusy_high 0x02
#define control_register 0x37a
Out32 (control_register,(unsigned char)(Inp32(control_register) | HostBusy_high));
Out32和Inp32是input32.dll中用于接口并行端口的函数。这些函数以十六进制值作为参数。我试图用python编写代码以获得所需的值,但这不是我要得到的。请参阅下面的python版本:
from ctypes import windll
#parallel port instance
p_port = windll.inpout32
HostBusy_high = 0x02
control_register = 0x37a
write_data = write(p_port(Inp32(control_register) | HostBusy_high))
Out32 (control_register,write_data))
上面的代码似乎没有达到我想要的值。我怀疑是无符号值。
谢谢
取决于为什么需要无符号字符。在大多数情况下,您只需使用Python整数。如果实际需要一个单字节数据,可以使用Python的struct.pack从整数中生成一个单字节字符串。
一般来说,如果对源语言和目标语言以及要翻译的代码体都没有很好的理解,就无法通过在语言之间逐行直译代码来获得好的结果。
也许你应该得到你的值的256模。那肯定是没有签名的。示例:
相关问题 更多 >
编程相关推荐