导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. ps3g
    P
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    ps3g

    @ps3g

    0
    声望
    2
    楼层
    493
    资料浏览
    0
    粉丝
    0
    关注
    注册时间 最后登录

    ps3g 关注

    ps3g 发布的帖子

    • openmv和舵机控制板之间怎么通讯?我搜到这个是什么意思?大佬们求解

      ''
      def MoveServo(servoId, pos, time):
      global uart
      buf = bytearray(b'\x55\x55\x08\x03\x01')
      buf.append(0xff & actNum)
      buf.append(0xff & time)
      buf.append(0xff & (time >> 8))
      buf.append((0xff & servoId))
      buf.append(0xff & pos)
      buf.append(0xff & (pos >> 8))
      uart.write(buf)
      '''

      def RunActionGroup(actNum, num):
      global uart
      buf = bytearray(b'\x55\x55\x05\x06') #帧头, 长度, 命令 6
      buf.append(0xff & actNum) #追加动作组号数
      buf.append(0xff & num) #运行次数
      buf.append(0xff & (num >> 8))
      uart.write(buf)

      def StopActionGroup():
      uart.write(b'\x55\x55\x02\x07') #发送停止指令

      '''
      def WaitForFinish(timeout):
      buf = bytearray()
      timeout = utime.time() + timeout #计算超时时间到达后的系统时间
      while True:
      if utime.time() > timeout: #如果系统时间达到就返回False,即动作组没在指定时间内停止
      return False
      try:
      rcv = uart.readline() #接收数据
      if rcv is not None:
      buf = rcv
      while True:
      try:
      index = buf.index(b'\x55\x55') #查找帧头
      if len(buf) >= buf[index + 2]:
      buf = buf[index:] #将帧头前面不符合的部分剔除
      if (buf[2] + 2) <= len(buf): #缓存中的数据数据是否完整
      cmd = buf[0: (buf[2]+2)] #将命令取出 print("OK")
      buf = buf[buf[2]+2:]
      print(cmd[3])
      if cmd[3] == 0x08 or cmd[3] == 0x07: #接受到的数据的命令号为8或7就是动作已停止
      return True
      except:
      break
      except:
      continue

      MoveServo(19, 1500, 1000)
      MoveServo(20, 1500, 1000)
      '''

      发布在 OpenMV Cam
      P
      ps3g
    • openmv 4如何和舵机控制板通信?

      openmv 4如何和舵机控制板通信?

      发布在 OpenMV Cam
      P
      ps3g