首页 > 其他分享 >维特智能老总给我写的代码,分享给大家,写的超级好

维特智能老总给我写的代码,分享给大家,写的超级好

时间:2024-09-13 15:38:46浏览次数:11  
标签:index ser sumcheck 超级 维特 witpack print 老总 data

 

 

 

# -*- coding: utf8 -*-

import serial
import time
import datetime
import struct

# 替换成你的串口名称和波特率
ser = serial.Serial('COM5', 115200, timeout=1)
def analysWitData(data):
    sData = struct.unpack("<hhhh", data[2:10])
    if data[1] == 0x50:
        print("time:%02d-%02d-%02d %02d:%02d:%02d.%03d"
        %(data[2], data[3], data[4], data[5], data[6], data[7], data[8]+data[9]*256))
    elif data[1] == 0x51:
        ax = sData[0]/32768*16
        ay = sData[1]/32768*16
        az = sData[2]/32768*16
        print("acc:%fg,%fg,%fg"%(ax, ay, az))
    elif data[1] == 0x52:
        gx = sData[0]/32768*2000
        gy = sData[1]/32768*2000
        gz = sData[2]/32768*2000
        print("gyro:%.1f°/s,%.1f°/s,%.1f°/s"%(gx, gy, gz))
    elif data[1] == 0x53:
        roll = sData[0]/32768*180
        pitch = sData[1]/32768*180
        yaw = sData[2]/32768*180
        print("angle:%.1f°,%.1f°,%.1f°"%(roll, pitch, yaw))

    


def readData():
    # 检查串口是否打开
    if ser.isOpen():
        print("串口已打开")
    witpack = bytearray(11)
    index = 0
    try:
        
        # 默认串口是休眠状态,先发一串字符唤醒串口功能再发指令
        ser.write(b"WTZNWTZNWTZNWTZNWTZNWTZN")
        time.sleep(0.5)
        # 直接发送指令设置回传速率,该指令仅当前有效果,断电不保存
        # ser.write(b"\xff\xaa\x03\x03\x00") # 1Hz
        # ser.write(b"\xff\xaa\x03\x04\x00") # 2Hz
        # ser.write(b"\xff\xaa\x03\x05\x00") # 5Hz
        ser.write(b"\xff\xaa\x03\x06\x00") # 10Hz
        # ser.write(b"\xff\xaa\x03\x07\x00") # 20Hz
        # ser.write(b"\xff\xaa\x03\x08\x00") # 50Hz
        # ser.write(b"\xff\xaa\x03\x09\x00") # 100Hz
        time.sleep(0.1)
        while True:
            if ser.in_waiting > 0:
                # 读取数据
                data = ser.read(ser.in_waiting)
                # 将数据转换为十六进制格式并打印
                print("接收到数据的十六进制表示:", data.hex())
                for val in data:
                    witpack[index] = val
                    index = index + 1
                    # 每包数量11个字节
                    if index >= 11:
                        sumcheck = 0
                        for i in range(10): sumcheck = sumcheck + witpack[i]
                        sumcheck = sumcheck & 0xff
                        if witpack[0] == 0x55 and sumcheck == witpack[10] :
                            # print("校验成功", witpack[1])
                            index = 0
                            analysWitData(witpack)
                        else:
                            for i in range(10): witpack[i] = witpack[i+1]
                            index = index - 1
                # analysisHex(hex_data)
            time.sleep(0.1)  # 稍作延时,避免过快的循环

    except KeyboardInterrupt:
        print("程序被用户中断")

    finally:
        ser.close()
        print("串口已关闭")

#
readData()

        

 

 

############################

标签:index,ser,sumcheck,超级,维特,witpack,print,老总,data
From: https://www.cnblogs.com/herd/p/18412275

相关文章

  • 2024.09.07滴滴(超级简单)
    1.最佳速通时间小C准备参加某个游戏的速通比赛,为此他对该游戏速通了n次,每次速通记录可以用一个数组A={a1,a2……am}表示,其中a表示小C从游戏开始到第i个游戏节点所花赛的时间,m为游戏节点的个数。请根据小C的速通记录计算出他的理论最佳速通时间,理论最佳速通时问指:小C......
  • EasyRecovery2025最新超级好用的电脑数据恢复软件
    亲爱的笔记本小能手们,你们有没有想过,在电脑里辛苦工作了好几个小时的成果,一不小心因为手滑、误操作或是其他原因,突然“噗通”一下不见了?......
  • 图解:14个国家超级计算中心
    相信大家都听过计算机、数据中心,超级计算机,但是超级计算中心是什么呢?听起来不明觉厉,但其实超级计算中心就是将多个超级计算机放在一个数据中心内。国家超级计算中心是由国家科技部批准成立的数据计算机构,是科技部下属事业单位。那么超级计算中心有什么作用呢?当然是用来完成科研、......
  • 【Python游戏开发】用Python实现一个简易的超级玛丽游戏!
    前言小时候最喜欢玩的小游戏就是超级玛丽了,有刺激有又技巧,通关真的很难,救下小公主还被抓走了,唉,心累,最后还是硬着头皮继续闯,终于要通关了,之后再玩还是没有那么容易,哈哈,不知道现在能不能通关,今天就来实现一下,制作一个简易版的超级玛丽游戏如果你正在学习Python并且缺少项目......
  • P2048 [NOI2010] 超级钢琴
    P2048[NOI2010]超级钢琴题目链接其实这道题在我刚学oi两个月(2023.3)就见过了当时是作为st表的一个例题出现的,我学st表就已经学得迷迷糊糊的了,更别说这题了哈哈所以这是第二次见到他,必须写了(这一次他是作为NOIP模拟赛的一个部分分做法出现的)思路不错的限制:每......
  • P1000 超级玛丽游戏
    #include<iostream>usingnamespacestd;intmain(){ cout<<"********\n"; cout<<"************\n"; cout<<"####....#.\n"; cout<<"......
  • 超级良心的服务器提供商——雨云!
    一,前言    云端服务为广大用户提供了无尽的便利,例如云盘,数据库,人工智能等。而这些产品的基础都时服务器。今天,我将为大家介绍超级良心的服务器提供商-雨云。雨云-老一代云服务提供商欢迎来到以用户体验为优先的雨云,我们提供稳定高速的国际虚拟主机,云服务器产品,强大......
  • 超级快速搜索重复文件并批量删除重复文件的AutoHotkey辅助脚本 2024年9月4日
       超级快速搜索重复文件并批量删除重复文件的AutoHotkey辅助脚本 2024年9月4日   ;超级快速搜索重复文件并批量删除重复文件的AutoHotkey辅助脚本2024年9月4日/*用法:1、安装MasterSeeker1.5.1byDxCK或者安装UltraSearchProfessionalVersion4.2.0......
  • 2024年移动光猫获取超级密码
    温馨提示:本方法理论上适用于中国移动HG系列光猫光猫破解因地区、运营商、路由器和光猫型号而异,不能保证100%成功!遇到任何问题都可以在评论区留言,记得附上“地区+运营商+光猫型号”哦~本文为我原创,采用CCBY-NC-SA4.0许可协议进行授权,详见文末许可协议@牧瀬紅莉栖゚根据本......
  • 英伟达™(NVIDIA®)发布 NVEagle: 超级震撼的视觉语言模型,7B、13B 和 13B 聊天微调版
    多模态大型语言模型(MLLM)是人工智能领域的一次重大飞跃,它将视觉信息和语言信息结合起来,能够更好地理解和解释复杂的现实世界场景。这些模型旨在观察、理解和推理视觉输入,使其在光学字符识别(OCR)和文档分析任务中发挥无价之宝的作用。这些MLLM的核心在于它们的视觉编码器,可......