Pic'den VB'ye VERİ GÖNDERME..

Başlatan ufuk0106, 28 Aralık 2004, 17:43:01

ufuk0106

SELAMLAR...

VB'de yazdığım program ile pic çıkışlarını kontrol ettim. Fakat Pic'ten VB'ye veri gönderemedi.
     Gönderim için Pic çıkışını max232'nin 11 nolu bacağına bağladım. max232'nin 14 nolu bacağınıda portun 2 nolu(RX) bacağına bağladım.
galiba doğru bağladım.(Pic ile max arasına led bağladım kırpma görülüyor.)
  ÖRNEĞİN; pİC'TEN X KARAKTERİ GELİCE X ALINDI DİYE MSG VERSİN, Y GELİRSE Y ALINDI DİYE MSG VERSİN.

VB KODLARI KONUSUNDA YARDIMCI OLABİLİRMİSİNİZ...TEŞEKKÜRLER.

vurkacoglu

Alıntı yapılan: "ufuk0106"SELAMLAR...

VB'de yazdığım program ile pic çıkışlarını kontrol ettim. Fakat Pic'ten VB'ye veri gönderemedi.
     Gönderim için Pic çıkışını max232'nin 11 nolu bacağına bağladım. max232'nin 14 nolu bacağınıda portun 2 nolu(RX) bacağına bağladım.
galiba doğru bağladım.(Pic ile max arasına led bağladım kırpma görülüyor.)
  ÖRNEĞİN; pİC'TEN X KARAKTERİ GELİCE X ALINDI DİYE MSG VERSİN, Y GELİRSE Y ALINDI DİYE MSG VERSİN.

VB KODLARI KONUSUNDA YARDIMCI OLABİLİRMİSİNİZ...TEŞEKKÜRLER.

devrede sorun yok gibi görünüyor aynı devreyi bende bugün kurdum ve çalıştırdım. ama programlama bilmediğim için sana yardım eden kişilerin banada yardım etmesini dilerim. kolay gelsin.

vurkacoglu

başardım picten seri port üzerinden veri yolladım ama sürekli olmuyo. bi tane alıyo duruyo. bana, al dediğimde dur diyene kadar sürekli veri alcak bi program lazım.

Digimensch

@vurkacoglu,
Hocam
www.projeler.de
Formunda Otamasyon bölümünde bir örnek var istersen oraya bak.

@ufuk0106
Simdi PIC serial Porta su sekilde veri gönderdigini kabul edersek
SEND var PORTA.0
BAUD CON 16780 ' Hyper Terminaldede 2400 secilmeli

TRISA = $00000001 
PORTA = 0
TRISB = 1
PORTB=  0
Main:
SEROUT2 SEND,BAUD,10,["PIC ILE ",13,_
"SERIAL PORT",13,_
"ÜZERINDEN",13,_
"VERI ALIMI",13,_
"PROJESI",13,13]  '13 bir asagi satira yöneltir
goto Main
end


Evet simdi bu COM1'e gelen Veriyi VB ile söyle aliyoruz.
Private Sub Command1_Click()
Text1.Text = MSComm1.Input  'Burda COM1'e gelen veri Text1 icerisine   yazdiriliyor.Olay bu kadar basit...
End Sub

Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "2400,N,8,1"
MSComm1.PortOpen = True
End Sub

vurkacoglu

Alıntı yapılan: "Digimensch"Hocam
www.projeler.de
Formunda Otamasyon bölümünde bir örnek var istersen oraya bak.

o kadarını bende yaptım. benim derdim programlayı hiç bilmiyor olmam. veri sürekli geliyor ve sürekli olarak ben dur diyene alınması gerekiyor. sonra kaydet dediğimde de bi text dosyasına kaydetmesi. vaktim bol olsa hiç uğraşmıycam böle forum forum dolaşmayı ama vaktim yok yarın sabaha hallolması lazım bunun.

bu arada forum senin galiba hayırlı olsun.

Digimensch

Alıntı Yapo kadarını bende yaptım.
Beni dövecekmissin gibi yazmissin Hocam ...  aman haa!!

Hocam programlama derken neyi kast ediyorsun??
PicBasic mi?
Visual Basic mi??
Eger VB ise o zaman denemelerini Hyper Terminal programi ile yap !!
Bu tür bir Program MicroCode Studio icinde var.

vurkacoglu

@digimesch
ya kusura bakma çok darlandım bildiğin gib değil. olay bitirme ödevi. adam(hocam) durdu durdu tam final haftası bunları bunları da yap dedi. ben dedim programlama bilmiyom yok dedi yapcan dedi. asıl istediği şeyse daha da beter. alınan verilerden grafik oluşturacak. yuh dedim içimden tabi ama anlamadı ya delirecem. umarım forumları okumuyodur ne biliim kıllandım şimdi.

Digimensch

Bak Dostm yazacagin yazilimla PIC'e emir gönderirsin , PIC bu emri alir ve veri göndermeyi durdurur.
Simdi sen PIC'e yazdigin kodun icine IF  veya Case döngüsü ile PIC'e "X" karekteri geldiginde PIC COM1'e veri göndermeyi durduracak sekilde yap.
Sonra tekrar PIC'in  COM1'e veri göndermesini istedigindede  bu seferde "Y" karekteri geldiginde PIC COM1'e veri göndermeye devam etsin.
Böylece bu isi yapacak birde VB ile yazilim  yazarsin olur biter.
Tabiki bu isi Terminal programlari ilede yapabilirsin.

vurkacoglu

tamam ben anladım. ben kendimi ifade edemiyorum.
BENİM PİC E VERİ GÖNDERMEK GİBİ Bİ NİYETİM YOK ZATEN. pic öylece çalışıp elde ettiği verileri sürekli olarak bilgisayara gönderiyo. benimde bu verileri sürekli olarak okumam gerekiyo. pic için veri alınmış alınmamış umrunda değil. veri alma olayında hyperterminal olsun, serial port monitor olsun bu işi yapan program çok program var. ama bunu benim yapmam lazım. ve ben programlama derken pic programlamayı kastedmiyorum visual basic falan bilmiyorum hemde hiç.
sanırım anlaşıldı. şimdi visual basic bilen biri lütfen bana ulaşsın delircem yoksa.

hasantoptas

Alıntı yapılan: "hasantoptas"SELAMLAR...



Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
'Add the received byte to the text box...

Indata = Indata + MSComm1.Input


If Len(Indata) > 1 Then    '1 karakter  alana kadar (eğer daha fazla    istiyorsan bu sayıyı değiştir)
   If Left(Indata, 1) = "X" Then  'string in ilk karakterine bak
       
   text1="x" 'text1 in içine x yaz

   End If

   If Left(Indata, 1) = "Y" Then  'string in ilk karakterine bak
       
   text1="y" 'text1 in içine y yaz

   End If

   Indata = ""  'stringin içini boşalt
End If
MSComm1.InBufferCount = 0
End Select

End Sub

komut butonunun içine ;

data gelmesini istisen     MSComm1.RThreshold = 1   yaz

yok istemisen      MSComm1.RThreshold = 0  yaz

bir sorunla karşılaşırsan gene yaz.