Merhaba arkadaşlar.
Elimde iki adet kit var biri mcb1700 diğeri ise ti ın DK- lm3s9b96.mcb 1700 ile yaptığım seri port uygulamasında c# da yazdığım bir program aracığılıyla gelen verileri sorunsuz bir şekilde okuyabiliyorum.Bu uygulamada ise seri port usb dönüştürücü kablo kullandım.Fakat DK-lm3s9b96 kitinde yapıtğım uygulamada ise seri porttan işlemciye veri gönderebiliyorum fakat okuyamıyorum.win xp seri port terminalinde ise verilerin düzgün bir şekile geldiğini görüyorum. bu kitin mcb 1700 den tek farkı ftdi entegresinin kitin üzerinde olması. yani harici olarak bi dönüştürücü kullanmam gerekmiyo. Bu sorun neyden kaynaklanabilir. c# kodlarına farklı bir kod mu eklemem gerekir?
Bu sorun hakkındaki bilgisi olan yok mu? :-\
İşlemciye veri gönderebiliyorsan bağlantı çalışıyor demektir. Okuma yapamıyor olması gönderme hattında bir sorun olabileceğini gösteriyor. Bir jumper felan eksik olmasın board üzerinde?
Ama win xp hyper terminal programına sorunsuz gönderiyo
Farklı modüllerden aynı bilgisayar yazılımına seri port üzerinden bilgi gönderiyorsunuz. Bir modülden gönderdiğinizi yazdığınız bilgisayar yazılımında görüyorsunuz ; ama diğer modülden gönderdiğinizi bilgisayar yazılımında göremiyorsunuz. Ama hazır seriport dinleme programlarında modülden gönderdiğiniz verileri görüyorsunuz. Bu durumda Modülden gönderme yaptığınız fonksiyon ile bilgisayardan alım yaptığınız fonksiyon arasında uyumsuzluk olabilir.
Örneğin ; Bilgisayar yazılımında seri porttan veri alma işlemini "ReadLine()" fonksiyonu ile yapıyorsunuz.
1.Modülden veri gönderirken "WriteLine()" fonksiyonu ile doğru şekilde gönderiyorsunuz.
2.Modülden veri gönderirken "Write()" fonksiyonu ile yanlış şekilde gönderiyorsunuz. Çünkü bilgisayar yazılımı satır sonu karakteri bekliyor.
İki mcu nun programını da ben yazdım ikisi de aynı şekilde.
Merhaba
PIC tarafında ve de PC tarafında ufak değişiklik yaparak(C# bilmediğimden kodları bilmiyorum)Dataları WriteLıne() şeklinde değil de müstakil tek byte olarak yollayıp alsanız sorunu daha kolay farkedersiniz gibi geliyor bana.
Bana bir işlemciden gönderiip diğer işlemciden gönderememe saçma gelio. hem hyper terminalde de iki işlemciden gelen datayı okuyabiliyorum.
Arkadaşım kodunun içine" this.Dispatc.." ile başlayan satırı ekle. Bak bakalım olacak mı.
private void seriport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte a;
sayac++;
a = (byte)seriport.ReadByte();
if (a == 0)
{ sayac = 0; }
else if (sayac == 15)
{ sayac = 0; }
received[sayac] = a;
this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new UpdateUI(Updating));
}
veri gönderimini bende yapar durumdayım. ancak form uygulamasında veri alma işini (mesela geleni alıp textboxa yazma) yapamıyorum. bununla ilgili olan kod paylaşabilir misiniz??