Главная

Главная

Сообщество

Сообщество

Форум

Форум

STM32

STM32

Электроника

Электроника

Raspberry Pi

Raspberry Pi

Уведомления
Очистить всё

Драйвер протокола LIN и stm32f051 discovery.

(@shell)
Level 1

добрый день, решил с помощью вашей библиотеки сделать LIN на STM32F0 DISCOVERY. Без подключения LIN-трансиверов работает прекрасно и Master и Slave. Но если подключить пару LIN-трансиверов (я пробывал пару MAX13020 и пару TJA1028) то программа после Reset исполняется один раз затем попадает сюда.      Буду благодарен за подсказку, как выйти из этого тупичка.

if ((breakCnt <= breakCntUpperLimit) && (breakCnt >= breakCntLowerLimit))

Цитата
Автор темы Опубликовано : 09.12.2021 14:38
Aveal MT
(@aveal)
Top level Admin

Добрый день, если на этом обмен данными стопорится, то надо посмотреть, чему значение breakCnt  равно на этом условии. И затем изменить конфигурационное значение:

#define LIN_BREAK_SIZE_BITS                                             13

ОтветЦитата
Опубликовано : 09.12.2021 18:00
(@shell)
Level 1

Добрый вечер,  значение breakCnt доходит до нескольких десятков тысяч при значении LIN_BREAK_SIZE_BITS 13.


ОтветЦитата
Автор темы Опубликовано : 09.12.2021 22:43
Aveal MT
(@aveal)
Top level Admin

@shell А breakCntUpperLimit и breakCntLowerLimit?


ОтветЦитата
Опубликовано : 10.12.2021 11:23
(@shell)
Level 1

Добрый вечер вот screenshot из STM Studio

 


ОтветЦитата
Автор темы Опубликовано : 10.12.2021 21:39
(@shell)
Level 1
lin
lin2

ОтветЦитата
Автор темы Опубликовано : 10.12.2021 21:42
Aveal MT
(@aveal)
Top level Admin

@shell А проект можете выслать?


ОтветЦитата
Опубликовано : 12.12.2021 11:54
(@shell)
Level 1

Добрый день, извиняюсь за задержку с ответом. Проект я прикрепил, в папке два скрина. Первый скрин - это при включении первый запрос-ответ.
Второй скрин - второй и последующие запросы, но ответа нет. В втором скрине видно, что Break не опознаётся.

 


ОтветЦитата
Автор темы Опубликовано : 19.12.2021 15:32
Aveal MT
(@aveal)
Top level Admin

@shell плохо без железа) Давайте по шагам пройдемся - и в первом и во втором случае попадает сюда?

if ((breakCnt <= breakCntUpperLimit) && (breakCnt >= breakCntLowerLimit))

Но при этом значения breakCnt сильно отличаются?


ОтветЦитата
Опубликовано : 22.12.2021 11:41
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.