USB Modül Kurulum ve Kullanımı

%100 Açık kaynak kodlu, Mavis USB I/O sınıfının kullanımı:

VS içinden projenizi açıp, Mavis tarafından tedarik edeceğiniz USB_DIO ve DioModule sınıfını projenize eklendiğinizde Solution Explorer içinde soldakine benzer bir görüntü olması lazım.

USB_DIO, HID USB fonksiyonlarının olduğu bir kütüphanedir. Genel USB giriş çıkış fonksiyonlarının tamamını destekler.

DIOModule ise, genel USB fonksiyon setinin Mavis tarafından geliştirilmiş giriş çıkış modülüne uyarlanmış halidir. Byte se Bit seviyesinde okuma yazma yapabilen ve modülün giriş çıkış işlemlerine olanak sağlayan yapıları içerir.

Bu aşamadan sonra, normal C# sınıf kullanımı gibi DIOModule kullanımı yapılabilir.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.IO;

namespace VYP
{    

    public partial class frmMain : Form
    {

		public DIOModule dioModule = new DIOModule();

bu tanımlama ile dioModule isminde global bir değişkenimiz oldu.

Bir trigger yardımıyla sürekli okuma

		private void tmrDIO_Tick(object sender, EventArgs e)
		{
			if ((dioModule.connected) && (dioModule.Active))
			{
				byte inputDIO;
				dioModule.ReadDio(out inputDIO, false);
                if (dioModule.DIChanged())
                {
					if (inputDIO == dioModule.triggerSignal)
					{
						//RunAll();
						// Put Here your trigger code...
					}
                }
			}
		}

DIOModule kullanarak belirli bir çıkış değerini set etme

if ((dioModule.Active) && (dioModule.connected))
{
dioModule.WriteDio(1, false); // Led leri yakıyoruz...
}

DIOModule kullanarak girişteki değeri okuma

if ((dioModule.Active) && (dioModule.connected))
{
byte inputDIO;
dioModule.ReadDio(out inputDIO, false);
// okunan değer inputDIO değişkenine alındı
}

dioModule Pin bazında erişim imkanı da sunmaktadır. Indexer yapısıyla desteklenmiş bu kullanım moduna göre

dioModule.SetPin(2);

dioModule.SetPin(4);

gibi yapı kullanılabilir. Bunun yerine daha gelişmiş olan;

dioModule.Pins[2] = 1;

dioModule.Pins[4] = 0;

gibi, indexer yapısı da tercih edilebilir.

Belirli bir pin değerini okumak için;

dioModule.GetPin(2);

yapısı

veya

byte b = dioModule.Pins[2]; indexer yapısı tercih edilebilir.

Belirli bir pin değerini sıfırlamak için

dioModule.ClearPin(2);

yapısı kullanılabilir. Bu yapıya göre, diğer çıkış değerlerinin ne olduğuna bakılmaksızın 2 nolu pin sıfıra çekilecektir.

Mavis, dioModule için gelişmiş fonksiyon setine sahiptir. Daha fazla bilgi için bizimle irtibata geçiniz…