星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • CAN模块编译不通过?



    • 0_1594382556372_aa09b143-16a0-474a-bda9-92c979587077-image.png

      # CAN循环测试
      # CANbps= Fpclk/((BRP+1)*((Tseg1+1)+(Tseg2+1)+1)
      # 所以这里CANbps=APB1总线频率54000000/9/(7+4+1))=500k bps
      # 总体配置方向: Tseg1>=Tseg2  Tseg2>=tq; Tseg2>=2TSJW
      from pyb import CAN
      import time
      #freq = pyb.freq()
      can2 = CAN(2, CAN.NORMAL)
      can2.init(CAN.NORMAL,False,9,sjw=1,bs1=7,bs2=4) #500k波特率
      can2.setfilter(0, CAN.LIST16, 0, (0,0,0,0))  # set a filter to receive messages with id=123, 124, 125 and 126
      can2.send('12345678', 123)   # send a message with id 123
      while(True):
      #    print(can2.recv(0,timeout=50000))                 # receive message on FIFO 0
          can2.send('12345678',123)   # send a message with id 123
          time.sleep(1000)
      
      
      


    • 用的2.5.1IDE,固件3.6.4



    • 看代码:
      https://book.openmv.cc/example/02-Board-Control/can.html

      H7,也就是OpenMV4 和OpenMV4 Plus用CAN.RANGE,OpenMV3以及OpenMV2用CAN.LIST16