STM32G0B1 can Error_Handler 解决方法

问题现象

MCU上电,发送0x13帧数据固定进入

Error_Handler

硬件介绍

MCU :STM32G0B1

can:NSI1042

tx 接TX

RX 接RX

折腾了一下午,无解,问题依旧;

对比测试

STM32G431

手头有块G431 官方评估版+CAN 模块;

同样的代码

复制代码
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
FDCAN_TxHeaderTypeDef TxHeader;
uint8_t TxData[8] = {0};
/* USER CODE END 0 */

  /* USER CODE BEGIN 2 */
	if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK)
	{
		Error_Handler();
	}
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    TxHeader.Identifier = 0x0fffffff;
    TxHeader.IdType = FDCAN_EXTENDED_ID;
    TxHeader.TxFrameType = FDCAN_DATA_FRAME;
    TxHeader.DataLength = FDCAN_DLC_BYTES_8;
    TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
    TxHeader.BitRateSwitch = FDCAN_BRS_OFF;
    TxHeader.FDFormat = FDCAN_CLASSIC_CAN;
    TxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
    TxHeader.MessageMarker = 0;

    ++TxData[7];

    if(HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData) != HAL_OK)
    {
      Error_Handler();
    }
    HAL_Delay(1000); 
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

测试数据

将TX(PA12)拔掉

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

测试结论

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

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

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

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

相关推荐
-Springer-2 小时前
STM32 学习 —— 个人学习笔记11-1(SPI 通信协议及 W25Q64 简介 & 软件 SPI 读写 W25Q64)
笔记·stm32·学习
yrx0203072 小时前
串口空闲中断+DMA接收+环形缓冲区 && 串口DMA发送+环形缓冲区
stm32·单片机
LCG元3 小时前
STM32实战:基于STM32F103的4G模块(EC20)HTTP通信
stm32·嵌入式硬件·http
送外卖的CV工程师4 小时前
STM32+Makefile编译+OpenOCD 烧录调试
stm32·单片机·嵌入式硬件·makefile·调试·烧录·openocd
豆包公子4 小时前
程序流监控:AUTOSAR CP 功能安全在裸机 MCU 上的实现(理论篇)
运维·单片机·嵌入式硬件·安全·车载系统·autosar
编程之升级打怪5 小时前
单片机SPI硬件接口的要点
嵌入式硬件
Aaron_dw6 小时前
PHY Eye Monitor 全栈技术说明书
嵌入式硬件
NQBJT8 小时前
嵌入式从零开始(第十二篇):调试与工具链 —— 从 IDE 到逻辑分析仪
ide·stm32·单片机·嵌入式硬件·c#
广州灵眸科技有限公司9 小时前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网
豆包公子9 小时前
程序流监控 —— AUTOSAR CP 功能安全在裸机 MCU 上的实现:实践篇
单片机·嵌入式硬件·学习