Top.Mail.Ru
Уведомления
Очистить все

[Решено] Не работает CAN на STM32.

(@electric)
Level 1

Здравствуйте, никак не могу запустить CAN на STM32. Моя инициализация:

static void MX_CAN1_Init(void)
{
  hcan1.Instance = CAN1;
  hcan1.Init.Prescaler = 2;
  hcan1.Init.Mode = CAN_MODE_NORMAL;
  hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
  hcan1.Init.TimeSeg1 = CAN_BS1_2TQ;
  hcan1.Init.TimeSeg2 = CAN_BS2_1TQ;
  hcan1.Init.TimeTriggeredMode = DISABLE;
  hcan1.Init.AutoBusOff = DISABLE;
  hcan1.Init.AutoWakeUp = DISABLE;
  hcan1.Init.AutoRetransmission = DISABLE;
  hcan1.Init.ReceiveFifoLocked = DISABLE;
  hcan1.Init.TransmitFifoPriority = DISABLE;
  if (HAL_CAN_Init(&hcan1) != HAL_OK)
  {
    Error_Handler();
  }
}
Цитата
Создатель темы Размещено : 07.10.2022 14:05
tech
 tech
(@tech)
Level 3

А какие симптомы?

ОтветитьЦитата
Размещено : 07.10.2022 17:29
(@electric)
Level 1

@tech Вообще ничего нет на линии Tx, просто постоянно высокий уровень.

ОтветитьЦитата
Создатель темы Размещено : 07.10.2022 17:52
tech
 tech
(@tech)
Level 3

@electric 

А трансивер присутствует в шине, второе устройство? Какая вообще конфигурация физическая?

ОтветитьЦитата
Размещено : 07.10.2022 18:46
(@eduard)
Level 4 Moderator

А выводы инициализируются?
В этом коде инициализация отсутствует.

ОтветитьЦитата
Размещено : 07.10.2022 19:06
(@electric)
Level 1

@eduard да, есть, Куб сгенерировал, вроде все нормально там.

ОтветитьЦитата
Создатель темы Размещено : 07.10.2022 19:27
(@electric)
Level 1

@tech STM32 отправляет данные на TJA1042, с другой стороны тоже TJA1042 и второе устройство. Если я вместо связки STM32 + TJA1042 передаю данные через USB-CAN адаптер (Systec), то второе устройство отвечает нормально. То есть я так понимаю что проблема именно в части STM-ки.

ОтветитьЦитата
Создатель темы Размещено : 07.10.2022 19:28
Aveal
(@aveal)
Top level Admin

Попробуй изменить:

hcan1.Init.AutoWakeUp = DISABLE;

на

hcan1.Init.AutoWakeUp = ENABLE;
ОтветитьЦитата
Размещено : 08.10.2022 11:35
(@electric)
Level 1

@aveal Чудо! Все заработало) ВСЕМ СПАСИБО, буду копаться дальше)

ОтветитьЦитата
Создатель темы Размещено : 09.10.2022 12:27
Поделиться: