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

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

Shell
(@shell)
Active Member

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

if ((breakCnt <= breakCntUpperLimit) && (breakCnt >= breakCntLowerLimit))
Цитата
Topic starter Размещено : 09.12.2021 14:38
Aveal
(@aveal)
Illustrious Member Admin

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

#define LIN_BREAK_SIZE_BITS                                             13
ОтветитьЦитата
Размещено : 09.12.2021 18:00
Shell
(@shell)
Active Member

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

ОтветитьЦитата
Topic starter Размещено : 09.12.2021 22:43
Aveal
(@aveal)
Illustrious Member Admin

@shell А breakCntUpperLimit и breakCntLowerLimit?

ОтветитьЦитата
Размещено : 10.12.2021 11:23
Shell
(@shell)
Active Member

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

 

ОтветитьЦитата
Topic starter Размещено : 10.12.2021 21:39
Shell
(@shell)
Active Member
lin
lin2
ОтветитьЦитата
Topic starter Размещено : 10.12.2021 21:42
Aveal
(@aveal)
Illustrious Member Admin

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

ОтветитьЦитата
Размещено : 12.12.2021 11:54
Shell
(@shell)
Active Member

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

 

ОтветитьЦитата
Topic starter Размещено : 19.12.2021 15:32
Aveal
(@aveal)
Illustrious Member Admin

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

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

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

ОтветитьЦитата
Размещено : 22.12.2021 11:41
Поделиться: