如何 配置 CH32V307 CAN通訊波特率

開發(fā)板??CH32V307? CAN通訊波特率 例程 是 250K。

請(qǐng)問 如何 配置 成? 500K, 和 1000K。

謝謝!


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

您好,關(guān)于CAN波特率的配置,可以參考下圖

image.png


我們來算一下例程:

/* Bps = 250Kbps,pclk1 = 36Mhz */

can_hw_init(CAN_SJW_1tq/* 一般固定為1tq */, CAN_BS2_5tq, CAN_BS1_6tq, 12, CAN_Mode_Normal );

Tclk = 1/36m

分頻:12(內(nèi)部減了1,再加一就是參數(shù)值)

Tq = (brp[90]+1) * tpclk = 12/36=1/3m

T1bit = 1+6+7=14

bps = 1/(1/3m * 14) = 3/14=0.214m

這樣比250差的比較遠(yuǎn),算的對(duì)嗎?



您好,有關(guān)CAN波特率計(jì)算的介紹可參考:https://www.cnblogs.com/wchmcu/p/17546797.html



這個(gè)例程,brp為啥是12?明明api會(huì)-1,是11啊。

微信截圖_20230713091826.png


可以看一下官方寄存器手冊(cè)對(duì)CAN BTIMR BRP[9:0]寄存器的描述。image.png

附手冊(cè)鏈接:http://www.findthetime.net/downloads/CH32FV2x_V3xRM_PDF.html


所以說你那個(gè)公司 pclk/((bs1+bs2+1)*brp[9:0])

這個(gè)brp[9:0]到底指的是實(shí)際值,還是寄存器的值,看起來寫法是指寄存器,如果是寄存器,那就是11,如果是實(shí)際值,那就是12。拜托你們不要公式寫的是寄存器,實(shí)際又按實(shí)際值。這樣搞死人了。


BRP[9:0]指寄存器的值,例程CAN_Mode_Init( u8 tsjw, u8 tbs2, u8 tbs1, u16 brp, u8 mode )傳入的brp是12,BRP[9:0]的實(shí)際寫入的值是11


我去,網(wǎng)址內(nèi)容剛更新了,居然不承認(rèn)我說的是對(duì)的,我說你這個(gè)12怎么出來的呢。



微信截圖_20230713141548.png





只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频