使用蓝牙模块直接串口连接,显示数字合适,用蓝牙连接后数字变成16进制了 怎么整

如何可以蓝牙接受发送10进制数,使用蓝牙模块直接串口连接,显示数字合适,用蓝牙连接后数字变成16进制了

在蓝牙传输数据时,数据是以二进制的形式进行传输的,因此需要在发送和接收数据时进行数据格式的转换。如果您想要在蓝牙传输10进制数,可以将10进制数转换为二进制数后再进行传输,接收方在接收到数据后再将二进制数转换为10进制数进行显示。
以下是一个简单的示例代码,用于将10进制数转换为二进制数并进行蓝牙传输:


import serial
import struct

# 打开串口
ser = serial.Serial('/dev/ttyS0', 9600)

# 要发送的10进制数
num = 123

# 将10进制数转换为二进制数
data = struct.pack('i', num)

# 发送数据
ser.write(data)

# 关闭串口
ser.close()

在接收方,您可以使用类似的方法将接收到的二进制数转换为10进制数进行显示。以下是一个简单的示例代码:

import serial
import struct

# 打开串口
ser = serial.Serial('/dev/ttyS0', 9600)

# 接收数据
data = ser.read(4)

# 将二进制数转换为10进制数
num = struct.unpack('i', data)[0]

# 显示数据
print(num)

# 关闭串口
ser.close()


可以发送数字字符串,接收就拿字符数组接收,然后转为int型。