Emu8086 ile Port Bağlantısı

Emu8086 ile C# da yazılmış bir formun butonu ile port bağlantısı kurma işlemini yapmak için,

c:/emu8086/devices/developers adresine girip io.cs classını bulunuz.

Daha sonra c# da yaptığınız projenin üzerine tıklayıp  Existing New items ile io.cs  classını projenize ekleyiniz.

emu2

Bu işlemide gerçekleştirdiğinize göre projenize Assembly ile c# arasında port bağlantısını sağlayacağınız classı eklemiş oldunuz.

Classı incelerseniz içersinde 4 tane metodun olduğunu göreceksiniz.Bu metodların ne işimize yaradığını anlattıktan sonra kullanımlarıyla ilgili de bilgi vereceğim.

READ_IO_BYTE

READ_IO_WORD

Yukarıdaki iki metod ile c# assembly’nin kendisiyle iletişime geçebileceği port numaralarını belirliyor.Bu port numaralarının birimlerinin  byte veya word  cinsinden olmasına göre ikisinden birini seçiyoruz.

WRITE_IO_BYTE

WRITE_IO_WORD

Yukarıdaki diğer iki metod ile de c# ile Assembly’nin içinde kullanılan,port numarası bilinen herhangi bir porta müdahele edebiliyoruz.Write_io_byte ve Write_io_word metodları 2 parametrelidir.Bu parametrelerin birincisi ile port numarasını ikincisiyle de portun açık /kapalı olma durumu tutuluyor.

Mesela ben Emu8086 içerisinde örneklerde olan Thermometer  kodunu form ile çağırdım.Ve bu form ile o thermometer projesine c# ile müdahele etmek istiyorum.Thermometer projesini c#’da buton ile çağırdım.

Bunu

System.Diagnostics.Process.Start (“C:\\emu8086\\DEVICES\\thermometer.exe”); komutuyla gerçekleştirdim.emu2

Formdaki kapat butonuna basıldığında thermometrenin çalışmamasını ve Aç butonuyla da çalışmasını istiyorum.Bunun için port işlemlerini yapmamız gerekli.Butonların click kısmına gelip
Emu8086.IO.WRITE_IO_WORD(127, 0); //Thermometreyi kapatır.
Emu8086.IO.WRITE_IO_WORD(127, 1);//Thermometreyi açar.

Yukarıdaki birer satırlık kodları yazmamız yeterli.Peki 127 sayısı nerden çıktı?127 sayısı emu8086 içerisindeki thermometre örneğinde kullanılan port numarası olarak verilmiş.Yani aslında biz yukarıdaki kodlarla portu açıp kapama işlemini yerine getiriyoruz.

emu2

 

Emu8086’ya Diğer Programların Entegresi

Emu8086 programı çalıştırıldığında başka bir programda yapılmış bir arayüz veya kodları çağırmak istiyoruz.

Mesela c# ‘da bir arayüz geliştirdiniz.Bu arayüzü emu8086 da çalıştırıp,emu8086 ile c# arasında bağlantı kurmak istiyorsunuz.Bunun için öncelikle diğer yazımda belirttiğim gibi emu8086 programı bilgisayarınızda kurulu olmalı.Yapacağınız ikinci işlem ise c# da yaptığınız projenin .exe li halini kopyalayıp,c:/emu8086/Devices klasörünün içine kopyalamak.Benim emu8086 da çağırmak istediğim proje WindowsFormsApplication1.

emu1

 

 

Bu işlemi yaptıktan sonra artık işimiz çok kolay Emu8086’da çalıştırmak istediğimiz projenin içine c#  da yapmış olduğumuz projenin

#start=WindowsFormsApplication1.exe#   şu kodu yazarak sağlıyoruz.

emu2

 

Emulate ettikten sonra göreceksiniz ki diğer programda yapmış olduğunuz proje ekrana geliyor.Böylece emu8086 ile herhangi başka program ile de entegreyi sağlayabilirsiniz.emu2

Datawarehouse Türkiye Eğitimleri

Benimde bir etkinlikle tanıştığım Datawarehouse tekrardan Türkiye eğitimlerine başlıyor.”Bilişime Türkçe Yeter” sloganıyla yola çıkmış,amaçları karşılık beklemeden sadece öğretmek olan işlerinde uzman olan kişilerin düzenlediği tamamen ücretsiz olan bir eğitim.Konularla ilgilenmeseniz bile sadece o insanlarla tanışmak için bile bu etkinliğe gidilir.

Eğitimle ilgili olarakta;

İş Zekası,Veri Ambarı ,Veritabanı ,Data Quality ,Data Management ,Master Data Management,Big Data,Programlama ..vb konularında ücretsiz eğitimler verilecektir.

Üniversite mezunu veya IT sektöründeki arkadaşlarımız katılabilir.Yapmanız gereken info@datawarehouse.gen.tr adresine Cv ‘lerinizle mail atmaktır.Hangi alanlarda ücretsiz eğitim almak istediğinizi lütfen belirtiniz.

Detaylı bilgi almak için şu adresten yararlanabilirsiniz:

http://www.datawarehouse.gen.tr/