完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
FDCAN1_Handler.Instance = FDCAN1;
FDCAN1_Handler.Init.FrameFormat = FDCAN_FRAME_CLASSIC; //传统模式 FDCAN1_Handler.Init.Mode = FDCAN_MODE_NORMAL; //正常模式 FDCAN1_Handler.Init.AutoRetransmission = DISABLE; //关闭自动重传! FDCAN1_Handler.Init.TransmitPause = DISABLE; //关闭传输暂停 FDCAN1_Handler.Init.ProtocolException = DISABLE; //关闭协议异常处理 FDCAN1_Handler.Init.NominalPrescaler = 0x01; //分频系数FDCAN1_Handler.Init.MessageRAMOffset = 0; //信息 RAM 偏移 FDCAN1_Handler.Init.StdFiltersNbr = 1; //标准信息 ID 滤波器编号 FDCAN1_Handler.Init.ExtFiltersNbr = 2; //扩展信息 ID 滤波器编号 FDCAN1_Handler.Init.RxFifo0ElmtsNbr = 1; //接收 FIFO0 元素编号 FDCAN1_Handler.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8; //接收 FIFO0 8 字节 FDCAN1_Handler.Init.RxBuffersNbr = 0; //接收缓冲编号 FDCAN1_Handler.Init.TxEventsNbr = 0; //发送事件编号 FDCAN1_Handler.Init.TxBuffersNbr = 1; //发送缓冲编号 FDCAN1_Handler.Init.TxFifoQueueElmtsNbr = 0; //发送 FIFO 序列元素编号 FDCAN1_Handler.Init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION; FDCAN1_Handler.Init.TxElmtSize = FDCAN_DATA_BYTES_8; //发送大小:8 字节 if(HAL_FDCAN_Init( FDCAN1_Handler) != HAL_OK) //初始化 FDCAN { while(1); } //设置滤波器 FDCAN1_RXFilter.IdType = FDCAN_EXTENDED_ID; //扩展 ID FDCAN1_RXFilter.FilterIndex = 0; //滤波器索引 FDCAN1_RXFilter.FilterType = FDCAN_FILTER_MASK; //滤波器类型 FDCAN1_RXFilter.FilterConfig= FDCAN_FILTER_TO_RXFIFO0; //过滤器 0 关联到 FIFO0 FDCAN1_RXFilter.FilterID1 = 0x0000; //32 位 ID FDCAN1_RXFilter.FilterID2 = 0x0000; //传统模式的话,这里是 32 位掩码 HAL_FDCAN_ConfigFilter( FDCAN1_Handler, FDCAN1_RXFilter); //滤波器初始化 //HAL_FDCAN_ActivateNotification( FDCAN1_Handler,FDCAN_IT_RX_FIFO0_NEW_MESSAGE,0); HAL_FDCAN_Start( FDCAN1_Handler); //开启 FDCAN |
|
相关推荐
1个回答
|
|
1. 发送队列已满:检查发送队列是否已满。如果发送队列已满,需要等待一段时间,直到有空闲位置。
2. 发送超时:如果禁用了自动重传功能,可以尝试增加发送超时时间。通过调整FDCAN1_Handler.Init.MessageRAMConfig区域的相应参数来实现。 3. 配置错误:检查FDCAN的配置参数是否正确设置。确保FDCAN1_Handler.Init.FrameFormat,FDCAN1_Handler.Init.Mode和FDCAN1_Handler.Init.AutoRetransmission等参数正确设置。 4. 中断优先级问题:确保FDCAN的中断优先级正确设置。如果FDCAN的中断优先级设置过低,可能导致发送中断无法及时处理。 通过检查这些可能的原因,您可以解决FDCAN发送总是Tx FIFO/Queue is full的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
431 浏览 1 评论
282 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
248 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
611 浏览 2 评论
640 浏览 2 评论
1364浏览 9评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
69浏览 3评论
40浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
52浏览 3评论
43浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-29 00:56 , Processed in 0.720696 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号