paralel porta bit düzeyinde erişebilir miyiz?

Başlatan newbee, 06 Temmuz 2006, 12:07:16

newbee

arkadaşlar merhaba

visual basic kullanarak paralel portun bitlerine ayrı ayrı, yani bitler birbirinden bağimsız olarak erişebilir miyiz ? teşekkürler

murbay

Evet erişebilirsin...
Bir projede ben kullanmıştım.
Dijital olarak mantığı şu:
Paralel portta 8 adet data biti bulunur. Örneğin sırası ile porta 00000001 binary bilgisi yolladın diyelim. 0. bit lojik 1 oldu. diğer 7 bit sıfır olur. 0. biti değiştirmeden 2. biti de 1 yapmak istiyorsan porttaki mevcut 00000001 bilgisi ile 00000100 bilgisini OR (veya) işlemine tabi tutarsın. Sonuç 00000101 olur. Tüm bitleri sıfırlamak için porttaki bilgiyi 00000000 bilgisi ile AND (ve) işlemine tabi tutarsın. Tüm bitleri kurmak için ise porta 11111111 gönderirsin. Assembly dilinde bu işlemlerin basit komutları var.
Visual Basic te de bu komutların karşılığını bulabilirsin.
Açıklayıcı olun, gizemli yazmak maharet değildir...

CoşkuN

Ancak windows portlara direk erişime izin vermiyor.Bunun için "inpout32.dll" adlı bir dosyayı kullanman gerekiyor.Google'da arat,bulursun bu dosyayı.

newbee

Arkadaşlar eğer böyleyse kolay gibi görünüyor.

benim yapmak istediğim bitlerden bir tanesini sürekli frekansı değişken kesintisiz bir kare dalga, bir başka biti yine kare dalga bir başkası impuls vs. gibi ayarlamak. yani birinin 1 yada 0 a geçişi diğerini etkilemeyecek

birumher

Yapabilirsin ancak vb de ve windows da zamanlamalarda problem yaşayabilirsin. Örneğin standart timer kullanırsan 18ms altında zamanlara inemezsin. Belki böyle bir şeyi pic ile yapman ve zamanlamaları seri port veya paralel porttan ayarlatman daha mantıklı olabilir. Ya da yüksek çözünürlüklü timer componentleri var (C ve Delphi de VB de de vardır herhalde) Onları kullanabilirsin...
Birkan.Herguner

CoşkuN

VB'de ve Delphi' de bildiğim kadarıyla 1ms altına inilemiyor.

ise

kendin timer fonksiyonu yaparak 1 us altına bile inebilirsin

CoşkuN

Alıntı yapılan: "thief"kendin timer fonksiyonu yaparak 1 us altına bile inebilirsin
Buna bir örnek var mı elinizde acaba? Örneğin paralel porttan (veya seri) pwm yaptırabilir miyiz?

XX_CİHAN_XX

Visual Basic cok iyi bilmiyorum yanlış bırsey soylersem duzeltın ama basit bir for next dongusu kurarak da cok kısa surelı zaman gecıkmelerı (1ms altında)olusturulamaz mı :?:
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.