roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 04:07

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 24 окт 2013, 04:25 
Не в сети

Зарегистрирован: 26 июл 2013, 02:35
Сообщения: 72
Откуда: Москва
С роутера отправляю команды в STM32 - всё ок.
С СТМ32 отправляю данные в модем - всё ок.
Но при изменении логики с бесконечного цикла проверки новых данных в порту STM32 на прерывание NVIC для этого USART получаю трабл.
Трабл такой.
В процедуре обработки прерывания обратно отправляю "received "+полученный символ.
В результате возникает ощущение, что СТМ32 что отправляет, то и получает на вход сама себе.
вот результат команды cat /dev/ttyATH0 на роутере:
Код:

received  d

received  v

received  r

received


received  i

received  e

received  c

received  e

received  r

received  r

received


received


received


received


received


received

received  d




Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 24 окт 2013, 04:30 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Мысль отправлять что-то в УАРТ в обработчике прерывания, безусловно, светлая. Но неправильная.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 24 окт 2013, 04:32 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
если есть ощущение, скорей всего так и есть. а так... не отправляйте в прерывании, это не есть гуд. :) скидывайте в пул буфера (или как вы обычно с многопоточностью/многозадачностью боретесь) и потом вне прерывания отправляйте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 12 янв 2014, 18:09 
Не в сети

Зарегистрирован: 26 июл 2013, 02:35
Сообщения: 72
Откуда: Москва
отправка вне прерывания дала такой же плохой результат.
Рабочим оказался вариант отправки вне прерывания с предварительным отключением прерываний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 12 янв 2014, 18:51 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Angel71 писал(а):
если есть ощущение, скорей всего так и есть. а так... не отправляйте в прерывании, это не есть гуд. :) скидывайте в пул буфера (или как вы обычно с многопоточностью/многозадачностью боретесь) и потом вне прерывания отправляйте.

Чо не гуд-то? Думаю просто срабатывает прерывание по ушедшему байту тоже. Вектор там, кажется, один и тот же, в регистре данных завалялся байт на отправку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 13 янв 2014, 19:02 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
в смысле кидать строки в уарт в прерывании - это гут?

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32L1 Discovery USART NVIC = отправка попадает на вход
СообщениеДобавлено: 13 янв 2014, 19:47 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Ну целые строки не гуд:) Разве что в другой уарт, где скорость многократно выше.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO