导航:首页 > 编程语言 > python16进制读取串口

python16进制读取串口

发布时间:2022-08-06 23:54:48

⑴ 如何用python读取图片的16进制码

你可以直接用open('test.bmp','rb') open函数打开,这样得到的是二进制数据,然后你根据图片格式的相应说明对二进制数据进行相应的转换即可,或者使用图像处理库来做也是很方便的,比如opencv等等。

⑵ python读取字符串中间的16进制数字

这个转了十进制又转了十六进制,都是string,而不是数值
print出来,是以string 输出的。

分享一个我以前的

#比如hex.log 里面是E3F2A1
#就要往文件out.bin里写 0xE3 0xF2 0xA1

import string
HEX_file_name = "hex.log"
BIN_file_name = "out.bin"

input_file = open(HEX_file_name,'r')
output_file = open(BIN_file_name,'wb')
for lines in input_file.readlines():
lines = lines.replace(' ','').replace('\n','').upper()
for i in range(0, len(lines), 2):
chars = lines[i:i+2]
output_file.write(chr(int(chars, 16)))
input_file.close()
output_file.close()

核心就是
for i in range(0, len(lines), 2):
chars = lines[i:i+2]
output_file.write(chr(int(chars, 16)))
看懂了就懂了
out.bin可以用ultraedit或者notepad++十六进制查看

⑶ python串口16进制问题

显示没错。。1、2、3、4对应的ascii/unicode码位值分别就是31h,32h,33h,34h

转回字符显示可以

print(chr(0x31))#显示"1"

⑷ python获取串口设备的描述

importwinreg

key=winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,r"{36FC9E60-C465-11CF-8056-444553540000}")
foriinrange(winreg.QueryInfoKey(key)[0]):
subkey=winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,"SYSTEM\ControlSet001\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\"+winreg.EnumKey(key,i))
print(winreg.QueryValueEx(subkey,'DriverDesc'))
winreg.CloseKey(subkey)
winreg.CloseKey(key)




importwinreg

key=winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,r"")
try:
i=0
while1:
name,value,type=winreg.EnumValue(key,i)
print(repr(name),value)
i+=1
value,type=winreg.QueryValueEx(key,"EnableAutoTray")
exceptFileNotFoundError:
print
exceptOSError:
print

以前回答过一个,好像跟你说的意思差不多,都是读取注册表,一个读USB,一个是串口

⑸ 串口发送16进制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎么转换成原来的数据1234呢

假设你接收到的'x01x02x03x04'储存在a变量中,

你想要转换为1234储存在b变量中,那么可以参考进行如下操作:

>>> a='x01x02x03x04'

>>> b=''

>>> for i in s:

b=b + str(ord(i))

>>> b

'1234'

>>> b = int(b) #如果要将b转为数值变量,则使用int()

>>> b。

(5)python16进制读取串口扩展阅读:

十六进制的转换

数学的计算方法

主条目:进制转换

十进制转十六进制

采余数定理分解,例如将487710转成十六进制:

4877÷16=304....13(D)

304÷16=19....0

19÷16=1....3

1÷16=0....1

这样就计到487710=130D16

编程中的函式

Visual Basic

十六进制转换为十进制:十进制(Long型)=CLng("&H" & 十六进制数(String型))

十进制转换为十六进制:十六进制数(String型)=Hex$(十进制)

Javascript

Javascript 能以 toString() 函数来将十进制数字转为其他任意进制格式(String类型)

Python

调用Python内置int()函数把该字串转为数字。

⑹ Python Serial 串口能不能发送16进制的数字

pyserial默认的写入格式是字符串,并不是16进制的。接收到的也是字符串,除非你在接收端设置了默认接受hex格式,就会显示hex。我用过蓝牙串口和Arino开发板的串口,收到的都是字符串。

⑺ python3.5 读取串口中的数据怎么解码

1、安装串口库
2、采用默认通信参数
import serial
t = serial.Serial('com1',9600)
n = t.write('you are my world')print t.portstrprint n
str = t.read(n)print str
3、可以自己设置参数

import timeimport serialser = serial.Serial( #下面这些参数根据情况修改 port='COM1', baudrate=9600, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_TWO, bytesize=serial.SEVENBITS)data = ''while ser.inWaiting() > 0: data += ser.read(1)if data != '': print data
注意:Python与多个串口通信的时候,要确定端口号。如果有时间的话,可以自己写一个查询所有端口的信息,不想这么麻烦的话,下载个串口助手,自己看端口信息,在py文件中修改serial.Serial()里面的端口号。

⑻ 关于python 构造16进制函数的奇怪问题

>>>defchghex(data):
...hex2ch=lambdax:chr(int(x,16))
...return''.join(map(hex2ch,data.__str__().split()))
...
>>>printrepr(chghex("A1FDF102DF"))
'xa1xfdxf1x02xdf'
>>>

⑼ 串口发送16进制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎么转换成原来的数据1234呢

1、首先要引用Python的第三方库:serial,打开pycharm。

阅读全文

与python16进制读取串口相关的资料

热点内容
好兴动app还款怎么登录不上去了 浏览:665
郑州云服务器托管 浏览:722
服务器地址跟踪 浏览:980
免费google云服务器 浏览:516
摘译和编译的英文 浏览:359
热泵压缩机选型 浏览:121
op手机微信加密如何解除 浏览:386
如何在王牌战争找到高爆率服务器 浏览:13
江浙小学语文辅导课用什么APP 浏览:99
新梦幻大陆服务器地址 浏览:241
网吧服务器怎么更换壁纸 浏览:530
linux命令方法 浏览:332
linux下载freetype 浏览:123
程序员入驻平台 浏览:327
程序员大战外挂 浏览:745
html实例教程pdf 浏览:157
linux命令开放所有权限 浏览:575
30岁能学会编程 浏览:737
小火箭的服务器是什么 浏览:967
cad查信息命令 浏览:402