你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H753的FDCAN发送总是the Tx FIFO/Queue is full

[复制链接]
zsy3830 提问时间:2022-4-18 16:25 / 未解决
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
收藏 评论0 发布时间:2022-4-18 16:25

举报

0个回答

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版