Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
1135
Tıklama
0
Öne Çıkarma
c++ USB Port Kontrolü..
N
8 yıl
Teğmen
Konu Sahibi

s.a arkadaşlar.. Sorum şu ben c++ usb port üzerinden nasıl kontorl yapabilirim.
Örnek.. Elimede bir role olsun olsun ona c++ ile yapacağım bir programla nasıl erişim sağlarım roleyi aktif yada pasif nasıl yaparım yada bir ledi nasıl yakıp söndürürüm.
Bunun için c++ hangi kütüphane ve bunun için o kütüphaneye ait bir hazır fonksiyon bilen varsa yardımcı olabilirmi.. şimdiden ilginiz ve paylaşımlarınız için teşekkür ederim.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
8 yıl
Yarbay

Direkt usb sıkıntılı, çok karmaşık bir protokol. Onun yerine aşağıdaki gibi bir dönüştürücü ile seri porta çevirebilirsin. Tabi karşı tarafta arduino gibi bişey lazım.

http://urun.gittigidiyor.com/ev-elektronigi/usb-to-rs232-ttl-cevirici-pl-2303hx-arduino-265537880


Bu mesaja 1 cevap geldi.
N
8 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Direkt usb sıkıntılı, çok karmaşık bir protokol. Onun yerine aşağıdaki gibi bir dönüştürücü ile seri porta çevirebilirsin. Tabi karşı tarafta arduino gibi bişey lazım.

http://urun.gittigidiyor.com/ev-elektronigi/usb-to-rs232-ttl-cevirici-pl-2303hx-arduino-265537880

Böyle bir şey edersem c++ seri port erişimi nasıl sağlarım.. hangi kütüpahane kullanmam lazım .. yada bir fonsiyon tanımlı far hazır.. örnek kod varmı paylaşabileceğin..



G
8 yıl
Yarbay

İşletim sistemin ne? Qt kullandın mı hiç? Linux kullanıyor olsan kolayca tarif ederim qt ile nasıl yapacağını ama windows benim için zor. İstersen bunun için ayrı konu aç. Seri port en kolay yöntem yani zor bişey değil.

Peki veriyi alınca ne yapacaksın? Direkt röle falan süremezsin, tek pinden seri olarak gidiyor çünkü. Kontrolcü şart, bunun için ayrı kod yazman lazım.


Bu mesaja 1 cevap geldi.
N
8 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

İşletim sistemin ne? Qt kullandın mı hiç? Linux kullanıyor olsan kolayca tarif ederim qt ile nasıl yapacağını ama windows benim için zor. İstersen bunun için ayrı konu aç. Seri port en kolay yöntem yani zor bişey değil.

Peki veriyi alınca ne yapacaksın? Direkt röle falan süremezsin, tek pinden seri olarak gidiyor çünkü. Kontrolcü şart, bunun için ayrı kod yazman lazım.

ayıpsın hacam sorulurmu :)) ubuntu kullanıyorum :))
sadece işin mantığını öğreneyim ben onun derdindeyim.. bir mikrodenetleyiciye sinyalli yollayabilirmiyiz..?

seri portla ne imkanım var neler yapabilrim.?
C++ ile seri portdan nasıl haberleşirim.? Daha çok için yazılım kısmındayım C++ donanım kontrollerini öğrenmeye çalışıyorum.. aklıma ilk gelen usb den bir elektronik şeyi yönetmek geldiği için usb dedim..



G
8 yıl
Yarbay

http://doc.qt.io/qt-5/qserialport.html

Bu Qt kütüphanesine ait bir sınıf. Bununla dosyaya yazıyormuş gibi seri porta yazabilirsin. Veriler tek byte ya da byte dizisi şeklinde olabilir. Karşı tarafta bunlarla ne yapacağın sana kalmış. Sayıları komut olarak algılayabilirsin mesela. 1 byte 256 farklı komut alır. Misal 1 ledi yak, 2 ledi söndür gibi...

QSerialPort port("/dev/ttyUSB0");
port.setBaudRate(115200);
port.open(QIODevice::WriteOnly);
...
char komut = 1;
port.write(&komut, 1); // 1 gönder
komut = 2;
port.write(&komut, 1); // 2 gönder

String şeklinde de olur.
port.write("selam"); // 5 byte

Mikrodenetleyici tarafında da gelen komutları alıp ona göre işlem yaparsın. Kabaca böyle.


Bu mesaja 1 cevap geldi.
N
8 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

http://doc.qt.io/qt-5/qserialport.html

Bu Qt kütüphanesine ait bir sınıf. Bununla dosyaya yazıyormuş gibi seri porta yazabilirsin. Veriler tek byte ya da byte dizisi şeklinde olabilir. Karşı tarafta bunlarla ne yapacağın sana kalmış. Sayıları komut olarak algılayabilirsin mesela. 1 byte 256 farklı komut alır. Misal 1 ledi yak, 2 ledi söndür gibi...

QSerialPort port("/dev/ttyUSB0");
port.setBaudRate(115200);
port.open(QIODevice::WriteOnly);
...
char komut = 1;
port.write(&komut, 1); // 1 gönder
komut = 2;
port.write(&komut, 1); // 2 gönder

String şeklinde de olur.
port.write("selam"); // 5 byte

Mikrodenetleyici tarafında da gelen komutları alıp ona göre işlem yaparsın. Kabaca böyle.

Teşekkür ederim hocam.. Aydınlatıcı bilgi.. Biraz qt tanımam öğrenmem lazım.. Qt c++ la programlama yapılıyor yani.. Bu qt Windows da çalışan c++ visual stüdyo gibi bişey oluyor dimi



< Bu ileti mobil sürüm kullanılarak atıldı >

G
8 yıl
Yarbay

Öğrenmen gereken o yazdığım kadar işte. Qt konusunda başka bişey bilmene gerek yok şimdilik. Tabi fazla bilgi göz çıkarmaz, belki pencere buton falan yapmak istersin o ayrı.

Kullanacağın mikrodenetleyici nedir? Arduino board varsa o dönüştürücü aparata gerek yok.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.