For english version http://dincaysroom.blogspot.com (Not complete yet)

30 Ekim 2010 Cumartesi

Ftdi VCP Sürücüleri ile Seri Iletisim

Libftdi kullanarak yaptıgim seri iletişimi ftdi'in VCP (Virtual Com Port) sürücüleri kullanarak da yaptım.

VCP kullanmamın sebebi, C dışında başka dillerle de ftdi çipini kullanmak istemem. Önceleri libftdi kullanmamın bana daha esneklik vereceğini düşünüyordum. Fakat neredeyse her programlama dili ile pc'nin seri portuyla (com port) konuşabilirim. Libftdi gibi ozellesmis bir kutuphane yerine cok daha yaygin olarak kullanilan seri port kutuphaneleri ile is yapmak daha mantikli.

VCP'yi yuklemek icin ftdi'in web sitesinden suruculeri indirdim. make komutunu dedigim zaman  

cc1: fatal error: /lib/modules/2.6.35-22-generic/build/include/linux/modversions.h: No such file or directory

diye hata verdi. Biraz arastirdigimdan anladigim kadari ile bu dosya daha eski linux versiyonlarinda buluyormus (Su an Ubuntu 10.04 kullaniyorum). http://ftdi-usb-sio.sourceforge.net/#sec6 adresinde eger vcp dogru yuklenmisse su sekilde anlayabilirsiniz diyor. Yazilanlari yaptigimda dogru yuklendigini gordum :)

Vcp'yi kullanmak icin C yerine python dili ile bir program yazdim. Python'da seri iletisim icin pySerial modulu gerekiyor. Kurulum icin http://pypi.python.org/pypi/pyserial adresindeki modulu indirdim. Kurulumun nasil olacagi indirilen klasorun icinde de yaziyor. Indirdigim klasore gidip

sudo python setup.py install 

komutunu verdigimde kurulum tamamlaniyor.

http://pyserial.sourceforge.net/shortintro.html adresindeki kucuk orneklere bakarak fpga'e data yollayip alabilen bir program yazdim. Program cok kisa oldugu icin buraya yaziyorum.


#python serial read-write
import serial


#baud rate = 19200, timeout = 10 sec
ser = serial.Serial('/dev/ttyUSB0', 19200, timeout=10)
ser.write("5")
x = ser.read()
print(x)
ser.close()


Artik de0 kartina bilgisayardan komut gonderebiliyor ve kartin tepkisini okuyabiliyorum. Bundan sonra komut alma/verme isini kolaylastiran bir komut cozucu yazacagim. 

Hiç yorum yok:

Yorum Gönder