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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版