• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • CAN发送列表报错,请指点错误点,应该怎么处理



    • 0_1586753840498_缓冲区故障.jpg

      temp=[0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08] 
      
      if (TRANSMITTER):
          while (True):
              # Send message with id 1
              can.send(temp, 1)
              time.sleep(1000)
      

      CAN发送列表(c数组)报错,刚刚开始学语法,以前做C的,实在是找不到问题点在什么地方,请指点!



    • CAN.send(data, id, *, timeout=0, rtr=False)
      在总线上发送消息:

      data 是发送的数据(发送一个整数或一个缓冲区对象)。
      id 是所发送的消息的id。
      timeout 是以毫秒计的等待发送的超时时长。
      rtr 是一个指定消息是否应该作为远程传输请求发送的布尔值。若 rtr 为True ,则只使用 data 长度来填充框架的DLC插槽,
      而不使用 data 中的实际字节。

      若暂停时间为0,消息则置于三个硬件缓冲区中的其中一个,该方法立即返回。若三个缓冲区都被占用,则会引发异常。若暂停时间不为0,该方法会等待消息传输完毕。若该消息不能在指定时间内传输,则会引发异常。

      返回值: None.

      手册上是这样解释的,但是和我们实际用的函数不一样了



    • 应该用bytes,而不是数组。

      bytes(temp)



    • bytes(temp)
      temp=[1,2,3,4,5,6,7,8]
      if (TRANSMITTER):
      while (True):
      # Send message with id 1
      can.send(temp, 1)
      time.sleep(1000)

      是这样吗?
      我是需要用CAN发一个变量数组,8个元素的列表
      能请您给多点应用指示吗?



    • temp=[1,2,3,4,5,6,7,8]
      if (TRANSMITTER):
      while (True):
      # Send message with id 1
      can.send(bytes(temp), 1)
      time.sleep(1000)

      搞明白了!是这样!发送是什么发送类型。
      以前是学C的,真的很难能转变过来



    • 感谢!感谢!感谢您的指点!