Частота в 2.5 кГц в VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ELC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 30.10.2005 (Вс) 21:03
Откуда: Москва

Частота в 2.5 кГц в VB

Сообщение ELC » 25.06.2006 (Вс) 22:55

Господа! Имеется такая вот проблема:

- необходимо на выходе LPT порта компьютера получть частоту смены бита данных в 2.5 кГц. Короче говоря надо чтобы данные менялись с "1" на "0" с такой частотой. Значение частоты не критично (допускается разброс +- 0.5 кГц). Вопрос - как этого добится? С помощью таймера максимальной частоты которой я смог добится это 100 Гц. Причем дальнейшее уменьшение выдержки временного интервала у таймера не изменяет наивысший предел частоты! Частоту мерил частотомером на выходе порта! Т.е. ошибки быть не может!

Возможно кто-то сталкивался с подобной проблемой или предполагает как можно решить ее?
На берега Эквадора выбросило тонны кокаина. А как повезло Вам?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 25.06.2006 (Вс) 22:59

Приведите, пожалуйста, код, которым отправляете данные на порт. В подвешенном состоянии немного трудно советовать :)

ELC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 30.10.2005 (Вс) 21:03
Откуда: Москва

Сообщение ELC » 25.06.2006 (Вс) 23:09

пожалуйста:
Код: Выделить всё
Out &H378, 1


где &H378 - адрес порта
1 - данные

для работы необходима библиотека "inpout32.dll"

и модуль:
Код: Выделить всё
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Вложения
inpout32.rar
библиотека для работы с LPT
(10.85 Кб) Скачиваний: 25
На берега Эквадора выбросило тонны кокаина. А как повезло Вам?

ELC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 30.10.2005 (Вс) 21:03
Откуда: Москва

Сообщение ELC » 25.06.2006 (Вс) 23:18

Да совсем забыл... библиотеку надо кинуть либо в
C:\WINDOWS
либо в
C:\WINDOWS\system
На берега Эквадора выбросило тонны кокаина. А как повезло Вам?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.06.2006 (Пн) 9:01

Я имел в виду несколько не то.

Имеем примерно такой код, как я понимаю?

Код: Выделить всё
Public Sub Timer1_Timer()
Out &H378, 1
End Sub


Таймер не обеспечивает частоты 2,5 кГц, его предел - как раз около 100 Гц.
http://bbs.vbstreets.ru/viewtopic.php?t=19964.

tyomitch писал(а):seelts, в Винде есть Главный Таймер с частотой около 55мс, и все функции типа SetTimer и CreateTimerQueueTimer, равно как и Бейсиковский таймер - всего лишь интерфейсы к нему. Т.е. точность у них у всех одинаковая.

Для большей точности юзай QueryPerformanceCounter.


За готовым примером использования QPC - в Api-Guide.

ELC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 30.10.2005 (Вс) 21:03
Откуда: Москва

Сообщение ELC » 26.06.2006 (Пн) 11:12

Спасибо большое...

Буду разбираться с QueryPerformanceCounter... Посмотрим что это и с чем его едят :-)
На берега Эквадора выбросило тонны кокаина. А как повезло Вам?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.06.2006 (Пн) 11:26

Отпишите результаты исследований :)
Какова будет максимальная частота?


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Yandex-бот и гости: 65

    TopList