Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Бесконечный CAN_TxStatus_Pending STM32F103
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Kenny2208
Здравствуйте! Отправляю сообщения по интерфейсу CAN в режиме CAN_Mode_Normal , проверяю статус сообщения функцией CAN_TransmitStatus.
Функция всегда возвращает статус сообщения - CAN_TxStatus_Pending. и сообщение не доходит до другой платы. Даже с ножек на осциллографе нет сигналов. В режиме CAN_Mode_Loopback всё работает, кадр сразу ловит прерывание. Подскажите пожалуйста, в чем может быть проблема.
adnega
Вывод порта в AF режиме (в режиме альтернативной функции)?
Kenny2208
/* Configure CAN1 RX pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);


/* Configure CAN1 TX pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);



/* Remap CAN1 GPIOs */
GPIO_PinRemapConfig(GPIO_Remap2_CAN1 , ENABLE);
adnega
Я в StdLib не силен, но в UM написано для CAN1 на PA11 и PA12 CAN_REMAP="00".
Вы уверены, что GPIO_Remap2_CAN1 не выставляет CAN_REMAP="10" (т.е. на выводы PB8 и PB9)?
Dron_Gus
Второе устройство на шине не в listen-only режиме? Оно подтверждает посылку?
mmmjeka
скорей всего нету ответного сигнала ACK (подтверждения приема)( см. стандарт САN)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.