| Автор |
Сообщение |
LexYar
Завсегдатай

Зарегистрирован: 17.02.2006
Сообщения: 106
Откуда: Yaroslavl
Статус: Offline
Сохранить сообщение
[К началу]
|
xtal
А в чем проблема то? через СТ Мем не пишется? |
|
|
[Профиль] [ЛС] [e-mail] [WWW] [ICQ] |
 |
k750
Заглянувший

Зарегистрирован: 22.01.2007
Сообщения: 85
Статус: Offline
Сохранить сообщение
[К началу]
|
| Ar`Ti писал(а): |
Выложена обновлённая версия, должна работать под XP.
www.artras.narod.ru/rutil2.rar
Для совместимости проги с разными по производительности компутерами разыскивается процедура временной задержки (типа PAUSE) не завязанная на частоту процессора, если кому не жалко - подкиньте пжалста под делфу. |
под делфи не делал...
если под WIN - тогда для измерения промежутка времени посмотрите winapi GetPerformanceCounter и GetPerformanceFrequency, a паузы можно запустить с multimedia timer (TimerProc, SetTimer, KillTimer - резолюция 1ms). если требования по жестче - я бы строил на GetPerformanceCounter и GetPerformanceFrequency...
успехов Вам
моя ошибка - память не радость
Сергей Белов прав |
Последний раз редактировалось: k750 (Ср Апр 11, 2007 11:16 pm), всего редактировалось 1 раз |
|
| [Профиль] [ЛС] |
 |
Реклама
|
|
 |
Сергей Белов
Постоялец
Зарегистрирован: 31.10.2005
Сообщения: 383
Откуда: Украина, Николаев
Статус: Offline
Сохранить сообщение
[К началу]
|
не совсем так функции называются
--
QueryPerformanceFrequency
The QueryPerformanceFrequency function retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.
BOOL QueryPerformanceFrequency(
LARGE_INTEGER *lpFrequency // current frequency
);
Parameters
lpFrequency
[out] Pointer to a variable that receives the current performance-counter frequency, in counts per second. If the installed hardware does not support a high-resolution performance counter, this parameter can be zero.
Return Values
If the installed hardware supports a high-resolution performance counter, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError. For example, if the installed hardware does not support a high-resolution performance counter, the function fails.
Requirements
Windows NT/2000 or later: Requires Windows NT 3.1 or later.
Windows 95/98/Me: Requires Windows 95 or later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
----
QueryPerformanceCounter
The QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter.
BOOL QueryPerformanceCounter(
LARGE_INTEGER *lpPerformanceCount // counter value
);
Parameters
lpPerformanceCount
[out] Pointer to a variable that receives the current performance-counter value, in counts.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
On a multiprocessor machine, it should not matter which processor is called. However, you can get different results on different processors due to bugs in the BIOS or the HAL. To specify processor affinity for a thread, use the SetThreadAffinityMask function.
Requirements
Windows NT/2000 or later: Requires Windows NT 3.1 or later.
Windows 95/98/Me: Requires Windows 95 or later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
---
воть из MSDN-а |
|
|
| [Профиль] [ЛС] |
 |
Сергей Белов
Постоялец
Зарегистрирован: 31.10.2005
Сообщения: 383
Откуда: Украина, Николаев
Статус: Offline
Сохранить сообщение
[К началу]
|
пробовал эти фичи
реальная вещь, реальный замер интервалов
кароче панравилось  |
|
|
| [Профиль] [ЛС] |
 |
Viktor_UJ
Завсегдатай

Зарегистрирован: 02.11.2004
Сообщения: 342
Откуда: Минск
Статус: Offline
Сохранить сообщение
[К началу]
|
паузы лучше не фиксированными устанавливать, а делать ожидания пока вин не ответит, таким образом не надо будет городить огород с измененим этих пауз на разных скоростях.
например функция такого плана:
________________________________________________________________
функция послать строку(строка{посылаемая строка},символ конца{символ получив который будем считать что передача произошла}, таймаут{время после которого будем выходить из цыкла не дождавшись ответа})
-посылаем первый символ строки
- ждем пока нам винт ответит этим же символом, если время ожидания привысило таймаут выходим.
-посылаем следующий символ строки
- ждем пока нам винт ответит этим же символом, если время ожидания привысило таймаут выходим.
...... посылаем так остальные, пока вся строка не будет послана
-ждем пока в буфере чтения не появиться "символ конца"(для обычного случия это ">")
-присваиваем функции результат(то что винт ответил, либо ошибку таймаута)
________________________________________________________________
Конечно это не догма, но покрайней мере не надо будет подбирать паузы для разных скоростей.
P.S. : основная загвоздка при передаче составляет то, что винт не сразу готов принимать следующий символ , а через некоторое время(которое впринципе постоянно для одного семейства винтов. похоже это время винт тратит на то, чтобы проверитьчто делать ему с этим символом), и если время на обработку не учитывать , то будет наблюдаться "глотание" символов при передаче. |
|
|
[Профиль] [ЛС] [ICQ] |
 |
xtal
Заглянувший

Зарегистрирован: 05.04.2006
Сообщения: 35
Откуда: Волжский
Статус: Offline
Сохранить сообщение
[К началу]
|
ст-мем там все заморочено.да я слышал что в фришной не реализовано это.так что лежат винты и ждут своего часа.... |
|
|
[Профиль] [ЛС] [e-mail] [ICQ] |
 |
_AND_
Администратор
Зарегистрирован: 02.01.2005
Сообщения: 1737
Откуда: Украина, Донецк
Статус: Offline
Сохранить сообщение
[К началу]
|
Флейм удалил. Кто кого уважает разбираемся дома с друзьями за бутылкой водки. |
|
|
| [Профиль] [ЛС] [WWW] |
 |
Ar`Ti
Завсегдатай

Зарегистрирован: 26.09.2003
Сообщения: 172
Откуда: Ярославль
Статус: Offline
Сохранить сообщение
[К началу]
|
как бы ещё так....www.artras.narod.ru/r_util3.0D.rar
V3.0D (9.04.2007)
+Переработан интерфейс программы
+Добавлена возможность сохранения настроек программы
+Добавлена поддержка дисков Aplus (не тестировалось)
+Возможность считывания Cert по любой или сразу двум головам (ручной выбор)
-------------------------------------------------------------------------------------------
а пзу залить тоже получилось на Avalanche... |
|
|
[Профиль] [ЛС] [e-mail] [ICQ] |
 |
Ar`Ti
Завсегдатай

Зарегистрирован: 26.09.2003
Сообщения: 172
Откуда: Ярославль
Статус: Offline
Сохранить сообщение
[К началу]
|
кое чего поправил.... www.artras.narod.ru/r_util3.1D.rar
сообщите в аську о результатах.... как на быстрых процах работает, как читает с пумы и тонки ...
V3.1D (15.04.2007)
+ Добавлена поддержка дисков Avalanche
+ Заменён таймер (может работать медленней, но на любом процессоре)
+ Доработан "Connect" на уровне 'F>'
+ Исправлено множество ошибок выявленных в предыдущей версии (и добавлено новых )
---------------------------------------------------------------------------------------------- |
|
|
[Профиль] [ЛС] [e-mail] [ICQ] |
 |
Реклама
|
|
 |
Ar`Ti
Завсегдатай

Зарегистрирован: 26.09.2003
Сообщения: 172
Откуда: Ярославль
Статус: Offline
Сохранить сообщение
[К началу]
|
После непродолжительной паузы ....
--------------------------------------------------------------------------------------------
V3.2D (06.06.2007)
+ Опция 'Terminal' теперь действительно имеет право так именоваться
(но как всегда не хватает ума довести до идеала, а потому если что - не удивляйтесь) впринципе пригодно для 'подсмотреть по мелочи'
+Добавлена инициализация в "Safe mode" - это на любителя.
+В паспорте можно указать размер в LBA через Stuff ключ. (тестировалось мало)
+Поддержка SNOWMASS (не тестировалось)
--------------------------------------------------------------------------------------------
чего-то подправлено, где-то напортачено... |
|
|
[Профиль] [ЛС] [e-mail] [ICQ] |
 |
|
|
Powered by phpBB (modded)
© 2001, 2005 phpBB Group :: FI Theme ::
Часовой пояс: GMT + 3
|