PIC C seri iletişim ile ilgili yardım !!

Başlatan yucelll, 16 Nisan 2008, 19:15:07

yucelll

Selam PIC C üstadları.
Ben yeni üyeyim.Hep boşu boşuna kitap almışım kitapda hiç örnek yok.
Neyse seri iletişim denemeleri yaptım ama sadece printf("") komutunu biliyorum.

Şimdi sormak istediğim soru şu:
Ben hyper terminale A yazınca portbdeki led yansın.
B yazınca ise de sönsün ???

Yani bunu yazmaya çalıştım uğraştım felan yapamadım.
Aslında soracak daha çok sorum var ama yavaş yavaş :)

mucitotomasyon

slm hocam anlasılan birazugraşmısın kodlarını ver   ona ögre mantıksal hatan varmı bakalım  yani aslında co kolay birşey

yucelll

Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur  :?

Erol YILMAZ

Alıntı yapılan: "yucelll"Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur  :?

RS232 den gelen bilgi
A ise YAK
B ise SONDUR.

kısaca mantığı bu. Kodu ise kullandığın derleyiciye göre değişiyor.

yucelll

Hocam haklısınız ama yapamadım yaw. :?
Bakın yazdığım kod bu ama çalışmıyor.
Alıntı Yap#include <pic.h>
#include <delay.c>
#include <serial.c>
#include <stdio.h>

main(void)
{
   char A;
   char B;
   putch(A=getch());
   putch(B=getch());

   TRISA=0;
   while(1){
   if(RxData = A)
   RB7=1;
   else
   if(RxData = B)
   RB7=0;
   }
   
   
}
   

Isısda deniyorum A yazıyorum b portunun bütün portları değişiyor. B yazıyorum bu sefer a portu değişiyor ve öyle kalıyor.Anlamadım !

hiashua

void main(void)
{
	while(1)
	{
		if(getch()=='A'){
			
			RB7 = 1;
		}
		else if(getch()=='B'){
			
			RB7 = 0;
		}
			
	}
}


Bide bunu dene derlemedim değiştirilmesi gerekebilir. Sen putch() fonksiyonunu kullanıyorsun putch demek karakter koy demektir. getch yani karakter elde et fonksiyonunu kullanacaksın.
/*  Merak ilmin hocasıdır.  */

yucelll

Kardeş çok sağol ama denedim yine olmadı

arslan74

Merhaba,

Hi-Tech kendi samples klasöründe bununla ilgili örnek kodlar var. Onları neden kullanmiyorsunuz?

Selamlar

yucelll

kardeş işte serial.c var ordanda bişey anlayamadım o da zaten #include <serial.c> adında ekli

yucelll

anlaşıldı yardım eden yok ! Nabalım başımızın çaresine bakacaz artık !  :!:

arslan74

Alıntı yapılan: "yucelll"anlaşıldı yardım eden yok ! Nabalım başımızın çaresine bakacaz artık !  :!:

Merhaba,

Burada size herkez size yardım eder.

Ancak sorun şuki, bu bahs ettiğiniz konu birkoç kez sorulmuş ve cevaplanmıştır. Aynı soruyu tekrar kimse cevaplamak istemez, oysa siz biraz kendiniz zahmet edip forumu iyi araştırmış olsaydınız, bu sorunuzun cevabını mutlaka bulurdunuz. En basidinden arama modunu bile kullansanız sonuca ulaşırdınız.

Ama bu zahmete girmeyib, yardım eden yok derseniz, bu forumda üye olan arkadaşlarınımıza haksızlık etmiş olursunuz.

Bu sözlerim başınıza çare olması dileğimle.

Selamlar

yucelll

Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.

arslan74

Alıntı yapılan: "yucelll"Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.

Merhaba,

Şimdi yazdığınız cevabı en başta yazmış olsaydınız. Coktan yanıt alırdınız. Eksik bilgi verdiğiniz için istediğiniz cevabı alamamışsınız.

Cevap olarak sunları önerebilirim.

Ben başta 16F84 cok eski bir işlemci. O artık kalktı diyebilirim. bu işlemciyi yeni örenmeye başlayan öğrencilerin kullaniyor ve kaynak olarakta 5 - 10 yıllık dökümanı kullandığından o zamanda 16f628 olmadığı için bütün örnek kodları onula gösteriyorlardı.

En başta 16f84de donanımsal usart yok. O yüzden bu verdiğniz kodlar 16f84 de çalışmaz. danımsal usartı olan bir modülü kullanmanızı tavsite edeceğin. Sizin için en uygunu 16f628 ürünü uygundur. içinde donanımsal usart modülü var. hafıza ve ram kapasitesi ve port sayısı daha fazla. Fiyat olarakta 16f84den ucuz.

O ürünü kullanırsanız. Sorunuz halledilmiş olur.


Selamlar

yucelll

Tamam kardeş o zaman öyle yapayım ya şu an elimde 84a vardı ondan dolayı ben de habire uğraşıp duruyorum.Neyse kardeş sağolasın cevapların için

SpeedyX

Alıntı yapılan: "yucelll"Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur
Alıntı yapılan: "yucelll"Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.
Bunu yapmak için hiçbir yere üye olmanıza gerek yok,
http://www.microchipc.com/sourcecode
burada hepsi var,
web sayfanızdaki göstermelik yaptığınız şeyleri görünce bunu da yapabileceğinizi düşünüyorum, size yazılımsal usart gerekiyor.

(dediğiniz gibi) mantığını öğrenmekten çok, hazır bir projede değişiklik yapmak istiyorsunuz gibi anlaşılıyor. Yoksa serial.c de diretmezsiniz.