STM32G0B1 can Error_Handler 解决方法

打印 上一主题 下一主题

主题 995|帖子 995|积分 2985

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题现象

MCU上电,发送0x13帧数据固定进入
Error_Handler
      
  
硬件先容

MCU :STM32G0B1
can:NSI1042


tx 接TX
RX 接RX
折腾了一下战书,无解,问题仍旧;
对比测试

STM32G431

手头有块G431 官方评估版+CAN 模块;
同样的代码


  1. /* Private user code ---------------------------------------------------------*/
  2. /* USER CODE BEGIN 0 */
  3. FDCAN_TxHeaderTypeDef TxHeader;
  4. uint8_t TxData[8] = {0};
  5. /* USER CODE END 0 */
复制代码
  1.   /* USER CODE BEGIN 2 */
  2.         if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK)
  3.         {
  4.                 Error_Handler();
  5.         }
  6.   /* USER CODE END 2 */
复制代码
  1.   /* Infinite loop */
  2.   /* USER CODE BEGIN WHILE */
  3.   while (1)
  4.   {
  5.     TxHeader.Identifier = 0x0fffffff;
  6.     TxHeader.IdType = FDCAN_EXTENDED_ID;
  7.     TxHeader.TxFrameType = FDCAN_DATA_FRAME;
  8.     TxHeader.DataLength = FDCAN_DLC_BYTES_8;
  9.     TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
  10.     TxHeader.BitRateSwitch = FDCAN_BRS_OFF;
  11.     TxHeader.FDFormat = FDCAN_CLASSIC_CAN;
  12.     TxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
  13.     TxHeader.MessageMarker = 0;
  14.     ++TxData[7];
  15.     if(HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData) != HAL_OK)
  16.     {
  17.       Error_Handler();
  18.     }
  19.     HAL_Delay(1000);
  20.     /* USER CODE END WHILE */
  21.     /* USER CODE BEGIN 3 */
  22.   }
复制代码
测试数据


将TX(PA12)拔掉 

        故障出现了,发送0x13帧的时候,进入Error_Handler;
测试结论

通过对比发现,TX物理断开,与STM32G0B1 平台现象同等,接下来重点排查STM32G0B1 的TX与RX引脚配置。

亲们破案了,加上120R电阻就好了!!!!
亲们破案了,加上120R电阻就好了!!!!
亲们破案了,加上120R电阻就好了!!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表