已经通了
关于总线频率, 函数 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)
已经通了
关于总线频率, 函数 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)
@kidswong999 已经接了收发器, 自发自收可以输出, 但是rx tx 示波器只有一个脚有波形, 正常吗? 我只找到这个示例程序, 还用其他的资料吗?
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)