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电阻就好了!!!!

相关推荐
S,D12 分钟前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
芯岭技术3 小时前
PY32F002A单片机 低成本控制器解决方案,提供多种封装
单片机·嵌入式硬件
youmdt4 小时前
Arduino IDE ESP8266连接0.96寸SSD1306 IIC单色屏显示北京时间
单片机·嵌入式硬件
嘿·嘘4 小时前
第七章 STM32内部FLASH读写
stm32·单片机·嵌入式硬件
Meraki.Zhang4 小时前
【STM32实践篇】:I2C驱动编写
stm32·单片机·iic·驱动·i2c
几个几个n6 小时前
STM32-第二节-GPIO输入(按键,传感器)
单片机·嵌入式硬件
Despacito0o10 小时前
ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
人工智能·驱动开发·嵌入式硬件·音视频·嵌入式实时数据库
门思科技10 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
慕尘10 小时前
Clion配置51单片机开发环境
单片机
良许Linux12 小时前
32岁入行STM32迟吗?
stm32·单片机·嵌入式硬件