导航

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

    vyq1 发布的帖子

    • RE: 问一下CAN总线怎么用的?

      已经通了
      0_1543055641333_CAN口.png

      0_1543056217145_can硬件.jpg

      关于总线频率, 函数 pyb.freq([sysclk[, hclk[, pclk1[, pclk2]]]])输出"(216, 216, 54, 108)"
      所以 pclk1 = 216/4MHz = 54MHz

      然后设置波特率 CAN.init(mode, extframe=False, prescaler=100, *, sjw=1, bs1=6, bs2=8)

      发布在 OpenMV Cam
      V
      vyq1
    • RE: 问一下CAN总线怎么用的?

      @kidswong999 官方有配套的CAN模块吗? 问了客服说没有...

      发布在 OpenMV Cam
      V
      vyq1
    • RE: 问一下CAN总线怎么用的?

      @kidswong999 已经接了收发器, 自发自收可以输出, 但是rx tx 示波器只有一个脚有波形, 正常吗? 我只找到这个示例程序, 还用其他的资料吗?

      发布在 OpenMV Cam
      V
      vyq1
    • 问一下CAN总线怎么用的?

      pyb.CAN类的两个函数参数设置
      波特率?
      CAN.init(mode, extframe=False, prescaler=100, *, sjw=1, bs1=6, bs2=8, auto_restart=False)
      滤波器组?
      CAN.setfilter(bank, mode, fifo, params, *, rtr)

      示例:

      from pyb import CAN
      can = CAN(2, CAN.LOOPBACK)
      can.setfilter(0, CAN.LIST16, 0, (123, 124, 125, 126))  # set a filter to receive messages with id=123, 124, 125 and 126
      can.send('message!', 123)   # send a message with id 123
      can.recv(0)                 # receive message on FIFO 0
      

      改了一下波特率为500, 并不能用..

      can = CAN(2, CAN.LOOPBACK, extframe=False, prescaler=14, sjw=1, bs1=3, bs2=2)
      
      发布在 OpenMV Cam
      V
      vyq1