mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-24 03:27:45 +08:00
修复了吗?没有,很难的啦111
This commit is contained in:
@@ -78,24 +78,26 @@ static void CANAddFilter(FDCANInstance *_instance)
|
||||
fdcan_filter_conf.IsCalibrationMsg = 0;
|
||||
//fdcan_filter_conf.RxBufferIndex=0;
|
||||
|
||||
// ================== 【核心修复区】 ==================@todo:有问题 我要验牌
|
||||
// 1. 强制让 FDCAN 进入 INIT 模式,否则无法写入 Message RAM
|
||||
HAL_FDCAN_Stop(_instance->can_handle);
|
||||
// // ================== 【核心修复区】 ==================@todo:有问题 我要验牌
|
||||
// // 1. 强制让 FDCAN 进入 INIT 模式,否则无法写入 Message RAM
|
||||
// HAL_FDCAN_Stop(_instance->can_handle);
|
||||
//
|
||||
// // 2. 写入过滤器配置
|
||||
// HAL_FDCAN_ConfigFilter(_instance->can_handle, &fdcan_filter_conf);
|
||||
//
|
||||
// // 3. 重新启动 FDCAN
|
||||
// HAL_FDCAN_Start(_instance->can_handle);
|
||||
//
|
||||
// // 4. 【救命稻草】HAL_FDCAN_Stop 关闭了所有中断,必须在这里重新激活!
|
||||
// uint32_t FDCAN_RXActiveITs = FDCAN_IT_RX_FIFO0_NEW_MESSAGE | FDCAN_IT_RX_FIFO0_FULL |
|
||||
// FDCAN_IT_RX_FIFO0_WATERMARK | FDCAN_IT_RX_FIFO0_MESSAGE_LOST |
|
||||
// FDCAN_IT_RX_FIFO1_NEW_MESSAGE | FDCAN_IT_RX_FIFO1_FULL |
|
||||
// FDCAN_IT_RX_FIFO1_WATERMARK | FDCAN_IT_RX_FIFO1_MESSAGE_LOST;
|
||||
// HAL_FDCAN_ActivateNotification(_instance->can_handle, FDCAN_RXActiveITs, 0);
|
||||
// // ====================================================
|
||||
|
||||
// 2. 写入过滤器配置
|
||||
HAL_FDCAN_ConfigFilter(_instance->can_handle, &fdcan_filter_conf);
|
||||
|
||||
// 3. 重新启动 FDCAN
|
||||
HAL_FDCAN_Start(_instance->can_handle);
|
||||
|
||||
// 4. 【救命稻草】HAL_FDCAN_Stop 关闭了所有中断,必须在这里重新激活!
|
||||
uint32_t FDCAN_RXActiveITs = FDCAN_IT_RX_FIFO0_NEW_MESSAGE | FDCAN_IT_RX_FIFO0_FULL |
|
||||
FDCAN_IT_RX_FIFO0_WATERMARK | FDCAN_IT_RX_FIFO0_MESSAGE_LOST |
|
||||
FDCAN_IT_RX_FIFO1_NEW_MESSAGE | FDCAN_IT_RX_FIFO1_FULL |
|
||||
FDCAN_IT_RX_FIFO1_WATERMARK | FDCAN_IT_RX_FIFO1_MESSAGE_LOST;
|
||||
HAL_FDCAN_ActivateNotification(_instance->can_handle, FDCAN_RXActiveITs, 0);
|
||||
// ====================================================
|
||||
|
||||
#else
|
||||
CAN_FilterTypeDef can_filter_conf;
|
||||
static uint8_t can1_filter_idx = 0, can2_filter_idx = 14; // 0-13给can1用,14-27给can2用
|
||||
|
||||
Reference in New Issue
Block a user