想問一些關(guān)于CH32V307 CAN方面的中斷和速率設(shè)置問題

想問一些關(guān)于CAN方面的問題,CH32V307主頻144M,CAN1和CAN2都需要使用,

問題1:使用中斷問題,CAN1有例程

void USB_LP_CAN1_RX0_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));

void USB_LP_CAN1_RX0_IRQHandler(void)

{}

void USB_HP_CAN1_TX_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));

void USB_HP_CAN1_TX_IRQHandler(void)

{}

CAN2的中斷函數(shù)是否是?

void CAN2_TX_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));

void CAN2_TX_IRQHandler(void)

{

}

void CAN2_RX1_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));?

void CAN2_RX1_IRQHandler(void)

{

}

問題2:有沒有CAN的波特率計算器?

typedef enum {

?CAN_5KBPS,

?CAN_10KBPS,

?CAN_20KBPS,

?CAN_31K25BPS,

?CAN_33KBPS,

?CAN_40KBPS,

?CAN_50KBPS,

?CAN_80KBPS,

?CAN_83K3BPS,

?CAN_95KBPS,

?CAN_100KBPS,

?CAN_125KBPS,

?CAN_200KBPS,

?CAN_250KBPS,

?CAN_500KBPS,

?CAN_1000KBPS

} CAN_SPEED;

想計算這些速率的配置數(shù)據(jù),希望采樣點位置在85%-87.5% 誤差為0。


您好,關(guān)于你的問題:

1、關(guān)于can2的中斷函數(shù),可以參考啟動文件,如下圖1:

image.png

圖1

2、關(guān)于CAN波特率的計算,可以參考下帖鏈接:

https://www.cnblogs.com/wchmcu/p/17546797.html

?


請問例程CH32V307EVT6\EVT\EXAM\CAN\Time-triggered中如此配置

/* Bps = 500Kbps */

CAN_Mode_Init( CAN_SJW_1tq, CAN_BS2_5tq, CAN_BS1_6tq, 12, CAN_Mode_Normal );

采樣點是不是58.3%?



您好,是的,CAN采樣點的計算公式應該為:采樣點=(1+CAN_BS1)/(1+CAN_BS1+CAN_BS2),可根據(jù)自己需要的采樣點配置不同的BS1和BS2即可


只有登錄才能回復,可以選擇微信賬號登錄

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

字体
字号
代码语言