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

【STM32H503评测】2.H503 的FDCAN通讯测试

[复制链接]
jundao721 发布时间:2023-9-3 20:52
      最近工作有点忙,板卡的学习和测试稍有延迟。这次主要来测试该板卡的FDCAN功能。从datasheet上可以看到H503是有一个FDCAN接口的。这个总线通信接口当前用的比较多,所以需要好好学习和测试。现在FDCAN支持8Mbps,以前采购的芯片最高支持到5Mbps。     又把原来测试IC的部分翻出来,按照Power和Rx,Tx将MCU板卡和通讯部分进行连接,如图1所示:
t21.jpg
图1
     主要用到PB12--CANRx,和PB13--CANTx两个FDCAN1接口,从板图上可以看到接口位置,如图2所示:
t22.JPG
图2

     好了,言归正传。下载的官方资料里并没有这部分的例程,所以测试思路基本还是先用Cubemx生成基本配置,其他接收滤波配置和发送配置再自己添加。H503是支持250MHz主频的。所以FDCAN的时钟也配置位250MHz,如图3所示:
t23.JPG
图3

    FDCAN部分采用正常波特率位1Mbps,数据波特率位2Mbps。其基本配置如图4所示:
t24.JPG
图4
   正常生成代码后,添加接收部分设置和发送部分设置,参考代码如下所示:
  1. FDCAN_FilterTypeDef sFilterConfig;

  2.   /* Configure Rx filter */
  3.   sFilterConfig.IdType = FDCAN_STANDARD_ID;
  4.   sFilterConfig.FilterIndex = 0;
  5.   sFilterConfig.FilterType = FDCAN_FILTER_MASK;
  6.   sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
  7.   sFilterConfig.FilterID1 = 0x123;//receive ID
  8.   sFilterConfig.FilterID2 = 0x7FF;
  9.   if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK)
  10.   {
  11.     Error_Handler();
  12.   }

  13.   /* Configure global filter:
  14.      Filter all remote frames with STD and EXT ID
  15.      Reject non matching frames with STD ID and EXT ID */
  16.   if (HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK)
  17.   {
  18.     Error_Handler();
  19.   }

  20.   /* Start the FDCAN module */
  21.   if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK)
  22.   {
  23.     Error_Handler();
  24.   }

  25.   if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK)
  26.   {
  27.     Error_Handler();
  28.   }
复制代码
  1. if (HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData) != HAL_OK)
  2.         {
  3.           /* Transmission request Error */
  4.           Error_Handler();
  5.         }
  6.         HAL_Delay(1000);
复制代码



  上位机测试软件正常接收,如图5所示:
   t25.JPG
图5
但是接收中断没有执行,故接收callback函数也没有执行到。暂时还没找到事故原因,配置应该都是正常的。找到原因后,再补充这部分。
收藏 评论2 发布时间:2023-9-3 20:52

举报

2个回答
STMCU-管管 回答时间:2023-9-5 11:54:33
可以,再接再厉
无极考拉 回答时间:2023-9-7 09:13:35

学习一下

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

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