Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с BComPort, Глюки компонента ? 
:(
    Опции темы
KEM
Дата 14.12.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



Пишу я щяс программу которая по средствам СОМ порта обменивается данными со внешним устройством, и с какой то переодичностью его опрашивает. Организовал я всё это по средствам компонента TBComPort. И вот заметил пару неприятных особенностей, если из этого 
Код

Var
 Buff : Byte;
Begin
  {-----------------------------------------------------}
   // запись младшего байта адреса ОЗУ
   Buff := HexToInt('A0'); //A0
   Memo1.Lines.Add('A0 запись младшего байта адреса ОЗУ');
   Memo1.Lines.Add('Send: '+IntToStr(Buff)+' Reslt: '+IntToStr(BComPort1.Write(Buff,Sizeof(Buff))));
   Memo1.Lines.Add('Send: '+IntToStr(cmd)+' FunReslt: '+IntToStr(BComPort1.Write(cmd,Sizeof(cmd))));

  {-----------------------------------------------------}
End;

сделать это
Код

Var
 Buff : Byte;
Begin
  {-----------------------------------------------------}
   // запись младшего байта адреса ОЗУ
   Buff := HexToInt('A0'); //A0
  BComPort1.Write(Buff,Sizeof(Buff));
  BComPort1.Write(cmd,Sizeof(cmd));


то данные от прибора не приходят, а точнее складывается ощущение что команды к нему просто не уходял.
Та же ситуация складывается если приложения просо свернуть! 
Может у кого были подобные проблемы ? И может есть мнения\опыт по поводу работы с этим компонентом ? 
С ув. КЕМ.
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
KEM
Дата 14.12.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



Сегодня попарился на работе ещё попарился, оказалось что данные всё же уходят, но вот прибор либо молчит а в 95% отвечает какую то несуразицу, причём на каждый запрос одно и тоже, и это всё при работе приложения, без наличия на окне фокуса, если же его сделать активным, то всё встаён на свои места.... 
Может есть у кого какие мысли ?
З.Ы. ОС 2000
Спасибо.

--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
UniBomb
Дата 15.12.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



KEM, 

Первое что приходит в голову - это различие в скорости, паритете, количестве стоп-битов и битов чётности. Потом посмотри - может не работает аппаратная часть - т.е. скачай любую терминальную прогу и пообщайся через неё. Когда приходит одна и таже белиберда - то тут есть два варианта - несоответсивие типа данных, принимаемых с порта с типом данных, в которые ты заносиш считанные данные. Воторой вариант - чего то закорочено в линиях передачи... Ну или наконец - когда ты восьмой строчкой (второго примера) передаёш данные, а предыдущие ещё не отправлены, то в выходной буфер попадает чёрте-что...
PM MAIL ICQ Skype   Вверх
KEM
Дата 16.12.2006, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



В апаратной части проблем нет(ну несчитая внутренних "глюков" прибора),с приёмом даный проблем то же нет, т.к. они принимаются и отдаются сугубо по 1-у байту, и как я писал выше, проблемы возникают при простом сварачивании окна приложения, или убирания с него "фокуса"...
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
UniBomb
Дата 20.12.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



KEM, 

Наверняка не знаю, но возможно при сворачивании окна происходит что то с потоком. Т.е. либо твоему потоку (в котором выполняется программа) присваивается наименьший приоритет, либо поток просто простанавливается... Хотя тоже маловероятно. Единтсвенно что могу сказать - изучай WinAPI и работай с портом без сторонних компонетов. Хоть там и есть свои подводные камни, но это самый надёжный способ....
PM MAIL ICQ Skype   Вверх
KEM
Дата 21.12.2006, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



По видемому так и придётся с делать, иначе выхода нет... т.к. такой глюк никак не покатит... В инете на тему то же что то ничего не нашёл, если выясню в чём  проблема отпишусь, для будущих поколений...
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
UniBomb
Дата 22.12.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



KEM, 

В общем полазай по форуму, эта тема не раз обсуждалась. В частности тута. Правда и при использовании ВинАПИшных функциях есть много изъянов, но принцип такой - создаётся файл для доступа к порту, создаётся два потока - в основном происходит заись в порт, в созданном чтение из порта...
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.