求大佬看一下,FDCAN使用传统CAN模式,能发送数据,但是不能进入接收中断 代码配置了两处: void FDCAN1_Config(void) { FDCAN_FilterTypeDef sFilterConfig; / Configure Rx filter / sFilterConfig.IdType = FDCAN_STANDARD_ID; sFilterConfig.FilterIndex = 1; sFilterConfig.FilterType = FDCAN_FILTER_RANGE; sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0; sFilterConfig.FilterID1 = 0x00000000; sFilterConfig.FilterID2 = 0x000007FF; if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK) { Error_Handler(); } sFilterConfig.IdType = FDCAN_EXTENDED_ID; sFilterConfig.FilterIndex = 0; sFilterConfig.FilterType = FDCAN_FILTER_RANGE; sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0; sFilterConfig.FilterID1 = 0x00000000; sFilterConfig.FilterID2 = 0x1FFFFFFF; if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK) { Error_Handler(); } / Configure global filter: Filter all remote frames with STD and EXT ID Reject non matching frames with STD ID and EXT ID / if (HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK) { Error_Handler(); } / Activate Rx FIFO 0 new message notification on both FDCAN instances / if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK) { Error_Handler(); } // if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_BUS_OFF, 0) != HAL_OK) // { // Error_Handler(); // } / Tx Config/ TxHeader1.Identifier = 0x000000000; // CAN ID TxHeader1.IdType = FDCAN_STANDARD_ID; // 标准ID TxHeader1.TxFrameType = FDCAN_DATA_FRAME; TxHeader1.DataLength = FDCAN_DLC_BYTES_8; TxHeader1.ErrorStateIndicator = FDCAN_ESI_PASSIVE; TxHeader1.BitRateSwitch = FDCAN_BRS_OFF; TxHeader1.FDFormat = FDCAN_FD_CAN; // CANFD TxHeader1.TxEventFifoControl = FDCAN_NO_TX_EVENTS; TxHeader1.MessageMarker = 0; / Configure and enable Tx Delay Compensation, required for BRS mode. TdcOffset default recommended value: DataTimeSeg1 DataPrescaler TdcFilter default recommended value: 0 / HAL_FDCAN_ConfigTxDelayCompensation(&hfdcan1, hfdcan1.Init.DataPrescaler hfdcan1.Init.DataTimeSeg1, 0); HAL_FDCAN_EnableTxDelayCompensation(&hfdcan1); / Start the FDCAN module / if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK) { Error_Handler(); } } void FDCAN1_IT0_IRQHandler(void) { / USER CODE BEGIN FDCAN1_IT0_IRQn 0 / / USER CODE END FDCAN1_IT0_IRQn 0 / HAL_FDCAN_IRQHandler(&hfdcan1); / USER CODE BEGIN FDCAN1_IT0_IRQn 1 / HAL_FDCAN_GetRxMessage(&hfdcan1, FDCAN_RX_FIFO0, &RxHeader1, can1_rxbuf); / USER CODE END FDCAN1_IT0_IRQn 1 / } |
STM32G474 利用高精度HRTIM怎么捕获外部波形计算波形频率,想用STM32Cube配置工程代码,网上查了很多资料,没有看到这个用法。希望大神指导一下。
STM32G473VET6同时使用6个片上放大器(OPAMP)的PGA加外部偏置模式,引脚位置让差分信号走线分离,信号有无较大影响?
stm32g474的开发板很烫
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
B-G431B-ESC1开发板问题
STM32G474 用UART进行IAP问题 -- AN4657
stm32g431rbt怎么显示汉字
STM32 双ADC同步注入转换模式,模块ADC2没有数据。
使用STM32CubeMX生成CMake工程中的FLASH.ld被更改的问题
写FLASH失败
可以先基于回环模式测试OK后,再行Normal模式实测验证。
案例代码哪里能找到
G4系列Cube库例程就有。
[md]我想问一下,我跟案例的回环模式大差不差,屏幕上显示发送出去了,但是USBCANfd无法接收到数据
回环模式主要验证基本的CAN配置,Normal模式时重点检查硬件线路,包括管脚的连接等。
相关器件手册也研究下,往往一些小细节被忽视了出不来预期结果。