python在字节流中对int24的转换

概述

最近在写项目的过程中,需要对从串口中读取的数据进行处理,本来用C写完了,但是却一直拿不到正确的数据包,可能是因为自己太菜了。后来用了python重新写了一次,不得不说python的serial库真的好用,所有对于串口的操作都在库中实现了,只要简单的调用就可以。

​由于项目中需要把读取的数据帧进行处理,拿到关于位置坐标的实际值,但是在处理过程中,由于python中int的数据类型长度不定,所以处理字节时总是会导致没有判断正负号而导致数据不正确。下面给出了将3个字节表示的数正确显式的代码

代码

# 传入9个字节大小的字节数组

def getPosition(data):

temp = [0,0,0]

for i in range(0,9,3):

# 判断是否为负数

if (data[i+2] & 0x80) == 128:

p1 = - ((((data[i]) ^ 0xff) | ((data[i+1]) ^ 0xff) << 8 | (data[i+2] ^ 0xff) << 16) +1 )

else:

p1 = ((data[i]) << 8 | (data[i+1]) << 16 | (data[i+2]) << 32) / (256)

temp[i//3] = p1;

# print(temp)

return temp

判断校验和

​传入一个字符数组,长度为128bytes,通过将前127个字节相加,判断是否与第128个字节相等,相等则接收正确,否则数据帧接收错误。

def check(strr):

summ = 0

for i in range(127):

summ += int(strr[i])

summ %= 256

return summ == int(strr[127])

对于字节流中4个字节的float进行转换

​需要用到struct库,主要是其中的pack和unpack方法,代码如下

import struct

def get_gyro(gyro):

temp = [0, 0, 0]

x = gyro[0: 4]

y = gyro[4: 8]

z = gyro[8: 12]

temp[0] = struct.unpack('

temp[1] = struct.unpack('

temp[2] = struct.unpack('

# print(temp)

return temp

python数据转换成字节流_python在字节流中对int24的转换相关推荐

  1. python数据转换成字节流_python字节流转化成图片最佳方法

    python字节流转化成图片最佳方法 发布时间:2020-05-08 11:40:42 来源:亿速云 阅读:325 今天小编给大家分享的是python字节流转化成图片的详细介绍,相信大部分人都不太了解 ...

  2. python将一列数据转换成向量_python读取csv和txt数据转换成向量的实例

    python读取csv和txt数据转换成向量的实例 最近写程序需要从文件中读取数据,并把读取的数据转换成向量. 查阅资料之后找到了读取csv文件和txt文件两种方式,下面结合自己的实验过程,做简要记录 ...

  3. python两两组合_python – 一个列表中的两个组合列表

    我是一个Python初学者.我想从一个列表中获取两个组合列表. 例如,我有一个列表: c = [1, 2, 3, 4] 我想使用每四个项目来获得每个可能的组合来填充两个列表.将会有((2 ^ 4)/ ...

  4. python数据可视化库_python和r中用于数据可视化的前9个库

    python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...

  5. python数据转换成字节流_关于Python3字符串转换为字节流的问题

    un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe ...

  6. python怎么弄成白色背景_python – 在matplotlib中为colorbar添加白色背景

    这是创建背景的解决方案: import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.axes_grid1.inset_l ...

  7. excel中python是什么意思_python在excel中的应用是什么

    python在excel中的应用:1.pandas操作Excel指定的单行:2.读取指定的多行:3.读取指定的行列:4.读取指定的多行多列值:5.获取所有行的指定列:6.获取行号并打印输出. 本教程操 ...

  8. python返回json数据_python和flask中返回JSON数据的方法

    在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dum ...

  9. python 更新数据库历史_python 实现数据库中数据添加、查询与更新的示例代码

    一.前言 最近做web网站的测试,遇到很多需要批量造数据的功能:比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据:本次 ...

最新文章

  1. GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富 | 开源
  2. JavaScript之充实文档的内容
  3. ArcGIS API for JavaScript压缩版(compact)与标准版的区别
  4. GetProcAddress 根据 ordinal 导入函数
  5. u-boot的linux内核映像加载,基于U_Boot的Linux内核映像加载与引导功能实现.pdf
  6. 直面最大挑战双11 阿里数据中台为商家带来确定性保障
  7. Web Service随笔
  8. java中的URLConnection
  9. POJ NOI MATH-7651 自来水供给
  10. nodejs,python,sublime和Eclipse的包管理器 1
  11. 如何在ubuntu22.04上使用微软精英手柄
  12. eemd优缺点_改进EEMD算法在心电信号去噪中的应用
  13. 通过注册表实现程序开机自启动的方法
  14. php英语单词大全95
  15. matlab里面atn是什么意思,matlab教程第一章
  16. Python大疆相片/航片/照片的内容信息获取:以m300为例JPG
  17. 建模simulink - 手把手教你搭建xpc平台
  18. JavaWeb学习笔记五:BS结构系统的结构和协议
  19. Cuckoo Filter(布谷过滤器)
  20. mysql里面对JSON的操作函数JSON_EXTRACT

热门文章

  1. layer——msg
  2. python:类与对象
  3. MP4文件介绍及SPS、PPS解析
  4. vue利用prerender-spa-plugin预渲染
  5. joj 2737 狼与羊的故事 求任意两点之间的必经之路
  6. 如何用python 300行代码实现中医问诊AI
  7. mac系统下安装pygame
  8. 创投日报:10月16日收录投融资项目11起
  9. java MD5加密的两种方法总结
  10. 2022javascript面试题