![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.05.2008
Сообщений: 5
|
![]()
Есть проблема с описанием работы последовательного порта в прерывании по системному таймеру при работе приложения оконной формы Visual Studio 2005 C++. Таймер Windows, имеющийся в инструментарии оконной формы, не может генерировать прерывания чаще, чем раз в 55 мс. Для обмена через COM-порт с частотой 20 мс описал класс системного таймера и обработчик его прерываний. Теперь никак не получается создать понятное обработчику описание структуры или класса последовательного порта из System::IO::Ports::SerialPort. Пытался описать встроенный класс SysTimer и внешний по отношению к оконной форме – обработчик не понимает. Попытка создать ещё класс serialPort тоже ни к чему не привела. Может, кто-нибудь подскажет тонкости описания подобных вещей? В MFC, API не писал. Был только опыт работы с Borland C++ в MS-DOS.
Фрагмент программы: Код:
Последний раз редактировалось merax; 16.06.2008 в 16:59. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
![]()
А вообще я бы рекомендовал тебе бросить .NET и делать ето в С++ Builder или студии как я делал
![]() Код:
![]() Код:
Последний раз редактировалось merax; 17.06.2008 в 13:26. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.05.2008
Сообщений: 5
|
![]()
Спасибо за подсказку merax
![]() С описанием всё получилось. Теперь добиваюсь нужной частоты. Почему-то при указанном интервале 20 мс в действительности выходит около 32. Ещё появились проблемы с выводом в оконную форму из обработчика системного таймера, но, в крайнем случае, без этого можно обойтись. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
![]()
Ну проблемы с выводом, это то, что функии в классе статические и не могут использовать нестатические методы. А интервал на разных компах все равно разный будет...
Пы.Сы. Кодом-с поделитесь для пополния форума и раздела в часности.... Последний раз редактировалось merax; 18.06.2008 в 02:07. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 14.05.2008
Сообщений: 5
|
![]()
Насчёт того, что интервал на разных компах будет разный – вообще-то разница должна быть в каких-то разумных пределах – ну процентов 10, но не 50 же.
![]() По вашей просьбе прилагаю полностью текущий код (Form1.h в архиве rar) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
добавление обработчика OnPaint в TPanel | Mixasik | Общие вопросы Delphi | 2 | 23.07.2008 17:36 |
Организация обработчика OnClick | 8alig8 | Помощь студентам | 1 | 03.06.2008 05:11 |
получение системного времени | Alex_Pro | Общие вопросы C/C++ | 1 | 21.05.2008 20:31 |
Динамик системного блока | Михаил Юрьевич | Общие вопросы Delphi | 4 | 28.01.2008 18:31 |