Python一次性结果?RTIMU库

2024-10-03 19:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到一个一次性的结果,我不想循环。是否有IMURead()的替代品?它只在循环中工作吗

import RTIMU
import os.path
import time
import math
sys.path.append('.')

class compass:

    def __init__(self):
        self.SETTINGS_FILE = "RTIMULib"
        s = RTIMU.Settings(self.SETTINGS_FILE)
        self.imu = RTIMU.RTIMU(s)

    def get_heading(self):

        self.imu.IMUInit()

        self.imu.setSlerpPower(0.06)
        self.imu.setAccelEnable(True)
        self.imu.setCompassEnable(True)

        poll_interval = self.imu.IMUGetPollInterval()

        while True:
            if self.imu.IMURead():
                data = self.imu.getIMUData()
                magX = data["compass"][0]
                magY = data["compass"][1]
                magZ = data["compass"][2]

Tags: pathimportselftrue替代品datasettingscompass
1条回答
网友
1楼 · 发布于 2024-10-03 19:29:31

2种选择:

使用中断:

    while True:
        if self.imu.IMURead():
            data = self.imu.getIMUData()
            magX = data["compass"][0]
            magY = data["compass"][1]
            magZ = data["compass"][2]
            break

使用时:

    while not self.imu.IMURead():
        pass

    data = self.imu.getIMUData()
    magX = data["compass"][0]
    magY = data["compass"][1]
    magZ = data["compass"][2]

相关问题 更多 >