реклама на сайте
подробности

 
 
> [stm32f415]Согласование обмена информации между портам
SergeyTT
сообщение Feb 5 2017, 14:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 3-07-06
Из: Харьков
Пользователь №: 18 533



Здравствуйте,All!

Прошу помочь в разрешении следующей проблемы:
нужно сопрячь 2 устройства, имеющих скорости по компорту отличающуюся в 30 раз (1М5 и 56К)
тип информации - пакеты,разной длины,могут рваться на пол-дороги и приходить по 2 и более в пачке. Они имеют известный хидер, я их парсю без проблем на лету в обработчике прерывания,благо скорострельности камня хватает.
Все это крутится под FreeRTOS на stm32f415.
В обработчике прерывания кладу символ в кольцевой буфер и отдаю его парсеру(инлайн в обработчике). Если парсер собрал пакет - отдаю указатель на начало пакета и его длину через очередь гейткиперу сопряженного порта. Гейт копирует пакет в свой буфер передачи и разрешает передачу по порту.
Все прекрасно работает до неопределенного момента - может зависнуть вся система,а может тупо перейти в вызовы
задач каждую миллисекунду.
Неопределенный момент может возникнуть как и через 10 сек после старта , так и через несколько часов.
Ход процесса я смотрю с помощью SEGGER SYSVIEW,очень полезная вещь.

Буду рад,если кто либо поможет мне разобраться,где же порылась собака.

WBR, Sergey
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 07:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01333 секунд с 7
ELECTRONIX ©2004-2016