roboforum.ru

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

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


Правила форума


В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.



Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 25  След.
Автор Сообщение
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 29 дек 2013, 12:38 
Не в сети
Аватара пользователя

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


Сделано еще проще - перекинул питание вентилятора на линию +5В. Он еле шевелится, конечно, но БП реально холодный.


Теперь другая проблема - UART на STM32F0-Discovery упорно теряет данные.
Если отправляю через Putty, то все ОК, если в винде
Код:
copy /b a.txt \\.\com22

или в линуксе
Код:
cat a.txt > /dev/ttyUSB0

То теряется примерно треть байтов. Причем и на 9600, и на 230400.
Прерываний по overrun не получаю, флагов ошибок нет.
Код такой:
Код:
void UART_Config(void)
{
  USART_InitTypeDef usartInit;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
  usartInit.USART_BaudRate = 9600;
  usartInit.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  usartInit.USART_Mode = USART_Mode_Rx;
  usartInit.USART_Parity = USART_Parity_No;
  usartInit.USART_StopBits = USART_StopBits_1;
  usartInit.USART_WordLength = USART_WordLength_8b;
  USART_Init(USART1, &usartInit);

  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  USART_ITConfig(USART1, USART_IT_ORE, ENABLE);
  USART_ITConfig(USART1, USART_IT_NE, ENABLE);
  USART_ITConfig(USART1, USART_IT_FE, ENABLE);
  USART_ITConfig(USART1, USART_IT_ERR, ENABLE);

  USART_AutoBaudRateCmd(USART1, DISABLE);
  USART_OverrunDetectionConfig(USART1,ENABLE);
  USART_Cmd(USART1, ENABLE);
}

void USART1_IRQHandler()
{
   if(USART1->ISR & (USART_FLAG_ORE | USART_FLAG_NE | USART_FLAG_FE)) {
      USART_ClearFlag(USART1, USART_FLAG_RXNE |  USART_FLAG_ORE | USART_FLAG_NE | USART_FLAG_FE);
      resetPointers();
      return;
   }

   uint32_t c;
   while(USART1->ISR & USART_FLAG_RXNE)
   {
      c = USART1->RDR;

      framePointer++;

   }
   return;
}


Есть идеи, как это вылечить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 31 дек 2013, 00:20 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Вот это номер! Оказывается чип silicon labs cp210x - тупо глючный. на длинных передачах теряет байты. Шарман просто! Заменил на пролифик - тут же проблема исчезла


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 02 янв 2014, 22:17 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
ээээ
А вот это что такое:
uint32_t c;
....
c = USART1->RDR;

Это ты фигачишь в переменную пришедшие символы (причем в прерывании). А кто их потом оттуда забирает и когда?

Чо ты кольцевой буффер-то не используешь? Или вообще ДМА?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 02 янв 2014, 23:57 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Это отладочный вариант программы. Я просто читал регистр данных для очистки флагов uart - данные никуда не шли, я просто не мог понять, почему теряются байты. теперь, когда понял, что глючит usb-uart, заменил-поправил и там уже нормальный код. Буфера тама нет, сразу в прерывании байт разламываю на биты и распихиваю куда надо. Байты на скорости 230400 не теряются, оверранов нет. Надо бы еще скорость поднять, но уже наверное будут потери.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 03 янв 2014, 07:33 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 03 янв 2014, 08:27 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Примерно так и сделал. Только что замкнул cp210x на другой usb-uart. И получил потерянные байты. Вот и вся лажа. Вот только я не знаю, где лажа - конкретный экземпляр чипа кривой, все они кривые или драйвера дурят.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 25 янв 2014, 19:48 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
CoIDE только у меня безбожно виснет или это общая проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 25 янв 2014, 22:10 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
вроде не висла, хотя я её быстро стёр :) кейл в общем поприятней


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 25 янв 2014, 22:21 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 01 фев 2014, 11:54 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Переключился на тариф для "почетных абонентов" - 3 года на одном и том же провайдере. 50мбит за 10 баксов в месяц - и мне все нравится!
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 01 фев 2014, 16:02 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
на пару десятков км по оптике. :D не не не, так не пойдёт. :) пинг хороший, совсем без роутера или что-то из нормального на подобии linksys?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 01 фев 2014, 17:10 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 23 апр 2014, 17:00 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
http://boser-schwarz.livejournal.com/200324.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 23 апр 2014, 17:43 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
а зачем вы шар до упора надували?
чем сильнее надут тем ниже поднимется.

вон как матёрые запускатели делают.
Изображение
чуть чуть газу чтоб тока тока оторвался, остальное запас для расширения.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Elmot - профессия - дилетант
СообщениеДобавлено: 24 апр 2014, 09:27 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 366 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 25  След.

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


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

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


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

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