Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic .NET => Konuyu başlatan: yldzelektronik - 27 Nisan 2012, 15:20:34

Başlık: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 27 Nisan 2012, 15:20:34
İyi çalışmalar.Visual basic 2010 kullanıyorum.Seri port ile led tabele kontrolü gerçekleştirmek istiyorum.Yazdığım kodların pc tarafında sorun yok.Sadece pic karta veri aktarırken sorun yaşıyorum.Ledleri açıp kapatmak için "a1","a0" gibi kodlar gönderiyorum.Ancak bunun seri porttan çıkarken ascii kodlar şeklinde çıktığını okumuştum.Ben pic tarafında veriyi alırken hex şeklinde okumak istiyorum ama nasıl yapacağımı bilmiyorum.Veri vb tarafında nasıl göndermeliyim bilmiyorum.Yardımcı olabilir misiniz?Kod örnekleri c# ta olması da sorun değil.Yeterki olayı biri açıklasın.Teşekkürler.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: kudretuzuner - 27 Nisan 2012, 17:27:01
Merhaba
Aşağıdaki dosyada tüm bilgiler var.Anlaşılmayan yer olursa yazın lütfen.Not,dosyaların hepsini C:\   'ye indirin,VB kodlar ona göre derlenmiştir.Kolay gelsin.
https://rapidshare.com/files/3196736720/yldzelektronik.rar
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 28 Nisan 2012, 00:26:57
Öncelikle ilginiz için teşekkür ederim.Yardımınız ve hassasiyetiniz içinde ayrıca teşekkür ederim.(Klasör ismindeki jest cabası...).Hocam şimdi 1 verisinin hex kodu 0x31 ancak siz asmdeki kodunuzda bunu nerede sorguluyorsunuz ben o satırları göremedim?Birde ben aynı yapıda program yazdım ccs c de ancak lcd saçma karakterler aldım.Veriyi alan değişkenimi char[] yaptım olmadı char yaptım olmadı int olmadı unsigned int yaptım olmadı..Pic tarafında sanırım sorunum yada donanımsal bir problem var.Aslında benim anlamadığım veri seri porttan çıkarken karkter olarak mı ascii olarak mı nasıl çıkar ve karşıda gelen veriyi nasıl soorgulamalıyız?
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: kudretuzuner - 28 Nisan 2012, 11:18:36
Merhaba
Seri iletişimde PC'den gelen hex datasının ne olduğu önemli değil.PC ne yolluyorsa onu alıyor.Aşağıdaki kod ile de RCREG değerini "W" geçici değişkenine atıyor return ile "MOVWF PORTA"nın üst satırına atlıyor(return dönüşü dolayısı ile)ve de "W" değişkeni PORTA'ya verilip gösteriliyor.Özetle sizin PC'den gönderdiğiniz hex ne olursa olsun PIC'te ASCII kodun ilk dört bitini görebilirsiniz.Arzu ederseniz,gerekli konfigürasyonları yaparak da diğer üst dört bit için örneğin PORTB nin pinlerinde göstermeniz olasıdır.Yanlız burada işin bir "püf"noktası sizin PC'den yolladığınız hex kodunu işlemek veya portlardaki data ile karşılaştırıp işlem yapabilmeniz için yazılımda değişiklik yapmak gerekir.O zaman gelen hex değerini XOR komutu ile karşılaştırmanız ve ona göre bir operasyon yapmanız gerekir.
VERI_AL
BTFSS PIR1,RCIF;  RCIF BAYRAĞI  (1) Mİ?
GOTO VERI_AL
BCF PIR1,RCIF;---ÇOK ÖNEMLİ  KODDDD
MOVF RCREG,W
RETURN
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 30 Nisan 2012, 12:48:57


#include <16F877A.H>
#fuses HS, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay(clock=20000000)
#use rs232(baud=2400,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
#include <exlcd.c>

char gelen=0;     //burayı ilk etapta gelen[]; şeklinde yapmıştım.

void main()
{
   lcd_init();delay_ms(250);
   while (true)
   {
   
   
   printf(lcd_putc,"Gelen:\n%x",gelen);  //bu kısımda %x değilde %s ve %c şeklinde denedim.gerçi x  de denedim.

   gelen=getc();
   }
}



sorunum ise arayüzden gönderdiğim a1 verisini hex fe yada benzeri şekilde alıyorum.string göstersemde aynı karakterleri alıyorum.Değişen birşey olmuyor yani...Ancak sorunumun ne olduğunu bilmiyorum.Acaba invert ile alakalı olabilir mi?Yazılımla invert nasıl yapılır?Veriyi gönderirken tektek mi göndermeliyim yoksa string de gönderebilirmiyim?Birde pc tarafıda veri gönderimi sonlandığında nasıl bildiriliyor?Yani pic tarafında printf("selam \r"); şeklinde yaptığımızı pcde nasıl yapıyoruz?


Bunlar benim nette yada forumda arayıp cevap bulamadığım sorular.Gözümden kaçmış olabilir.Kaynak belirtmenizde yeterli.Teşekkürler.!
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 14:55:07
İyi çalışmalar.Tekrar başlık açmak istemedim.Burada belirttiğim sorunumu aştım.Ancak şimdiki sorunum porttan veri dinleme.Porttan sağlıklı bir şekilde veri dinleyemiyorum.

    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        okunan = SerialPort1.ReadLine
        textbox1.Text = okunan
    End Sub



Bu kodlarla text box içinde ilk başta gönderdiğim veriyi görüyorum ancak hemen program çöktüğüne dair hata mesajı alıyorum.Şu windowsun hata mesajı gönderilsin mi uyarısını alıyorum.:

(http://img849.imageshack.us/img849/4539/30586485.jpg)

Sağlıklı bir şekilde nasıl veriyi dinleyebilirim?Teşekkürler.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: fgokcegoz - 08 Mayıs 2012, 15:14:53
Data Received olayı, seri port tan herhangi bir data geldiğinde oluşan kesmedir. ReadLine komutu ise, '\n' yani 0x0A hexadecimal değeri gelene kadar portu dinler. Senin yazdığın kodlara göre, ilk data geldiği anda olay oluşuyor ve kesmeye gidiyor. Ve kesme içerisinde '\n' gelmesini bekliyor... Burada mantık hatası var. Çünkü kesme içerisinde \n gelmesini beklerken, yeni data geliyor ve tekrar olay oluşuyor. Kesmeye gitmesi gerekirken, hala bir önce gelen data nedeniyle girdiği kesmeden çıkamadığı için hata veriyor... ReadLine komutu yerine, alternatif metodlar mevcut. Onları kullanabilirsin. ReadByte, ReadChar gibi.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 17:04:31
Bu cevabınız hemen bir ışık yanmasına neden oldu ve pic tarafında printf("%s\n",göndermek istediğim veri); şeklinde kodumu değiştirince sorun düzeldi.Teşekkürler.Şimdi son aşamadayım.Formun boyutlarını değiştirmek istiyorum ancak msdn.com da verilen örnek kodlar bende çalışmıyor.Form1 sub altında yapıyorum olmuyor.Buton olayları içinde de olmuyor.Form1 bunu referans alamaz me kullanın gibi bişey diyordu.Acaba bu konuda yardım edebilirmisiniz?Teşekkürler.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: fgokcegoz - 08 Mayıs 2012, 17:18:45
Formun boyutlarını değiştirmek istiyorsanız, üzerinde çalıştığınız formun köşesinden tutup istediğiniz boyuta getirebilirsiniz. Kod içerisine birşey eklemenize gerek yok. Formun boyutlarınada özellikler penceresinden bakıp manuel olarakta girebilirsiniz. Max. ve Min. boyutlarını belirleyebilirsiniz.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 17:39:22
Ben programın içinde yani programım çalışırken değiştirmek istiyorum.Boyutları seri porttan aldığım verilere değiştirmek istiyorum.Acaba mümkün mü?Aslında en çok anlam veremediğim şey msdn de yayınlanan kodların neden çalışmadığı.

form1.size= new system.drawing.size (300,200) satırını form1 olayına yada herhangi  bir yere yazıyorum ama
serialio.form1 cannot refer to itsel through its default instance; use 'Me' instead.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 18:35:34
Var mı ilgilenebilecek arkadaş?Microsoftun yayınladığı kodları da denedim ancak bir problem var ve ne tür bir problem olduğunu bilmiyorum.Yapmak istediğim şey formun boyutlarını program çalışırken değiştirebilmek.Örneğin 3 buton olsun ve buton 1 genişliği arttırsın buton iki yüksekliği arttırsın.buton 3 default ayarları yüklesin.Yardımcı olursanız sevinirim.İyi çalışmalar.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: The Gariban - 08 Mayıs 2012, 18:57:28
Diğer istediğini'de buna göre yapabilirsin sanırım
VB 2010 [Tutorial] How To Resize a Form Using Buttons (http://www.youtube.com/watch?v=6nbFpo_DwrQ#ws)
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 19:10:38
@the_gariban ilgine teşekkürler ama ben bunu daha evvel denedim ve çalışıyor.Yine denedim yine çalışmıyor.Anlamıyorum.Sorun nedir?Burdaki kodlarla hata almıyorum ama formum standart büyüklükte geliyor.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: The Gariban - 08 Mayıs 2012, 19:23:08
Visual Basic i çok iyi bilmiyorum ama bildiğim kadarı ile form load olayındaki seçeneklerinde ekranın ortasında başla ,vb gibi seçenekler vardı.Belki o ayarları değiştirmeniz gerekiyordur.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 19:29:45
yeni proje açıp denedim onda oluyo istediğim gibi ancak benim eski çalışmada olmuyor.anlamıyorum nedenini.hata falanda vermiyor.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: kayaaydin - 08 Mayıs 2012, 19:34:04
Form elemanlarının boyutları, konumları kodla değiştirilebilir. PIC'den ilgili veriyi düzgünce alabilirseniz bunları yapabilirsiniz.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 08 Mayıs 2012, 19:39:28
Hocam mevzu şu:Form içinde  her hangi bir şarta bağıl olmadan değiştirmeye çalışıyorum.Eski projemde bunu yapamazken yeni açtığım projede değiştirebiliyorum.Ben bunun sebebini anlamaya çalışıyorum.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: muhittin_kaplan - 08 Mayıs 2012, 23:41:24
me.height=100
me.width=200

buradaki sayılar yerine nereden bilgi alırsan al olur. bu kodları butonun altına yazarsan butona bastığında olur. data_recived in altına yazarsan orada olur.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 09 Mayıs 2012, 00:23:18
keşke görme imkanınz olsaydı.Gerçi başka şekilde hallettim şimdi ama o sorunun  neden olduğunu bulamıyorum.Öğrenmem gerektiğini düşünüyorum.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: kayaaydin - 09 Mayıs 2012, 00:56:09
Madem herhangi bir şarta bağlı olmadan yaptırmak istiyorsan öyleyse bir prosedür oluştur. Gerekiyorsa bu boyut gibi bilgileri parametre ile gönder. Belki böyle olur.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: eistain_54 - 09 Mayıs 2012, 01:02:23
[ur] USB mini POV-Display (http://www.youtube.com/watch?v=HWQ_ul9nQ8U#)[/url]
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: fgokcegoz - 09 Mayıs 2012, 08:40:26
Alıntı yapılan: yldzelektronik - 08 Mayıs 2012, 19:39:28
Hocam mevzu şu:Form içinde  her hangi bir şarta bağıl olmadan değiştirmeye çalışıyorum.Eski projemde bunu yapamazken yeni açtığım projede değiştirebiliyorum.Ben bunun sebebini anlamaya çalışıyorum.

Form için maximum ve minimum form boyutlarını girmişsen, kod içerisinde değiştirsen bile yeni değer max. ve min. değerlerden büyük ise işlev görmez. Form özelliklerini bir kontrol et bakalım.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 09 Mayıs 2012, 09:43:49
@kayaaydin:
Yok hocam öyle bişeyle de olmuyor.Farklı bir sebebi var.Yeni oluşturduğum projede istediğim şekilde çalışıyor.Ama ben o projede neyi yanlış yaptığımı bulmaya çalışıyorum.
@fgokcegoz:
Hocam dediğiniz benimde aklıma geldi.Kontrol ettim ancak max size : 0;0  min size:0;0 olarak duruyor.Ben bu formla baya oynadım ama hangi özellik buna sebeb oldu anlamaya çalşışıyorum.

Diğer form ile karşılaştırıyorum.Herşey aynı.Ama şuanda oluşturduğum yeni projeye kopyaladım dosyaları.Sorunsuz çalışıyor.Yardımlarınız için hepinize teşekkür ederim.Kudretuzuner beye ayrıca teşekkürlerimi iletiyorum.
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: muhittin_kaplan - 09 Mayıs 2012, 11:22:41
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle.aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle.aspx)

FormBorderStyle ı değiştirmiş olabilirsin. ölçeklendirilebilir olmalı..
Başlık: Ynt: Vb 2010 kullanırken seri iletişimde veri aktarma problemi yaşıyorum
Gönderen: yldzelektronik - 09 Mayıs 2012, 13:17:01
Alıntı yapılan: muhittin_kaplan - 09 Mayıs 2012, 11:22:41
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle.aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle.aspx)

FormBorderStyle ı değiştirmiş olabilirsin. ölçeklendirilebilir olmalı..

Aynı şekilde yeni projede açtım ancak yeni çalışma istediğim gibi.fixeddialog olarak her ikiside duruyor. ???