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

STM32H7 CANFD过滤问题  

[复制链接]
oujisang 提问时间:2018-9-22 17:02 /
阅读主题, 点击返回1楼
收藏 2 评论76 发布时间:2018-9-22 17:02
76个回答
likang1202 回答时间:2020-4-25 17:16:55
顶一下
ch531112311 回答时间:2020-4-28 09:29:19
oujisang 发表于 2020-4-24 17:19
STM32H743的芯片手册,官网上就能下载到,手册有点大,上传不到这里来,如果你需要留个邮箱,我发给你! ...

非常感谢
等待明天22 回答时间:2020-5-24 10:40:27
楼主,配置stm32h750vb的canfd,使用你的程序,无法接收canfd报文,发送数据 canfd报文,接收端报crc错误,发远程帧正常。普通can的收发均正常。后来使用官方的代码,也是一样的问题。can收发器已切换多个支持canfd的,现象均一样。楼主能否留个联系方式,交流一下。
jackqzw 回答时间:2020-6-6 09:59:13
正需要CAN配置的相关代码。发现接收会丢帧。发送也会丢帧。
xiaoduduysu 回答时间:2020-6-30 16:27:30
楼主的程序能发过来参考下吗?按照你的设置怎么还是不行啊?
void FDCAN_Config(uint32_t msgtxid, uint32_t msgrxid, uint32_t lam,uint32_t msgframe,uint32_t datalength)
{
  FDCAN_FilterTypeDef sFilterConfig;

  /* Configure extended ID reception filter to Rx FIFO 1 */
  sFilterConfig.IdType = msgframe;                  // EXTEND ID
  sFilterConfig.FilterIndex = 0;
  sFilterConfig.FilterType = FDCAN_FILTER_MASK;
  sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
  sFilterConfig.FilterID1 = msgrxid;                    //Filter ID
  sFilterConfig.FilterID2 = lam;                        //Filter ID LAM
if (HAL_FDCAN_ConfigFilter(&hfdcan2, &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(&hfdcan2, FDCAN_REJECT, FDCAN_REJECT, ENABLE, ENABLE) != HAL_OK)
  {
    Error_Handler();
  }

  /*##-2 Start FDCAN controller (continuous listening CAN bus) ##############*/
  if (HAL_FDCAN_Start(&hfdcan2) != HAL_OK)
  {
    Error_Handler();
  }

  if (HAL_FDCAN_ActivateNotification(&hfdcan2, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK)
  {
    Error_Handler();
  }

  /* Prepare Tx Header */
  TxHeader.Identifier = msgtxid;//0x1801F456U;
  TxHeader.IdType = msgframe;//FDCAN_EXTENDED_ID;
  TxHeader.TxFrameType = FDCAN_DATA_FRAME;
  TxHeader.DataLength = datalength;
  TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
  TxHeader.BitRateSwitch = FDCAN_BRS_ON;
  TxHeader.FDFormat = FDCAN_CLASSIC_CAN;
  TxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
  TxHeader.MessageMarker = 0;
  if (HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan2, &TxHeader, TxData) != HAL_OK)
  {
    Error_Handler();
  }
}
xiaoduduysu 回答时间:2020-6-30 16:28:21
楼主方便的话发一份程序看一眼呗,没有金币,下载不了,943209169@qq.com
oujisang 回答时间:2020-7-1 16:18:03
xiaoduduysu 发表于 2020-6-30 16:28
楼主方便的话发一份程序看一眼呗,没有金币,下载不了,

发过去了
12345678

所属标签

相似问题

官网相关资源

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