Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: xxlxxl - 06 Aralık 2011, 13:41:17

Başlık: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 13:41:17
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 13:47:29
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 13:55:51
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: Seckin ALAN - 06 Aralık 2011, 14:04:30
sorunu tam anlamadım,
1 verisini gönderdiğinde B1 yanacak 2 verisini gönderdiğinde B2 yanacak ama b2 yanarken aynı zamandada b1 sönecek doğru mu anladım.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 14:18:55
...
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 14:21:27
.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 14:30:52
.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 14:34:52
çalışan kod uygulama verdim haala birileri neden demiyor bakmakla olmuyor fikirlerde işe yaramıyor sonuç yok neden bu akdar zormu soruyorum farklı bir yöntem yol yordam yokmu RF alıcı vericiler gibi ama rs232 den gönderdiğim data çift haneli... tek haneli uygulamada sorun yok oda 9 a kadar ancak........

normalde 0.9 arası uygulamada sorun yok enden 9 dan sonra yazamıyoruz değişkene yardım yardımm
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: Seckin ALAN - 06 Aralık 2011, 14:48:04
şu aşamada konu çok acilse tek taneli gönder  0 1 2 3 4 5 6 7 8 9 A B C D E F G .... gibi projeleri kurcalıyorum unutmusum cyi
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 14:48:56
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: fahri- - 06 Aralık 2011, 14:59:02
Alıntı yapılan: xxlxxl - 06 Aralık 2011, 14:48:56
if((getc()=='1') && (getc()=='2')) ....................
else
output_high(PIN_B1);// b1 açık
}
   


şeklinde denedim complime olmuyor evet acil hocam neden olmuyor yaa kafam durdu

......... noktaların olduğu yerde bir işlem yaptırmak zorundasın.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 15:02:48
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: fahri- - 06 Aralık 2011, 15:04:45
örnek olarak :
output_low(PIN_B1);

gibi. senin kodda if() şartında yapılması gereken işlem yok. onun için derleyici hata veriyor.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: fahri- - 06 Aralık 2011, 15:07:21
if() {işlem1}
else {işlem2}

veya

if() {işlem1}

şeklinde olmalı.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 15:12:28
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 15:13:16
..
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 15:14:43



.
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 15:17:42
pic16f877 ile rs232 den gönderdiğim data ya göre led yakmak nasıl olur...

0123456789abc şeklinde datalı örneklere sorun yok...

çift haneli gönderilen bir uygulama lazım terim ler göndermeyin diyorum örnek uygulamayı gönderim neden halaa okumadan etmeden yorum yazıyorsunuz terim fikir değil uygulama lütfen...

gönderilen data ab bu gelen veriye göre led yanacak hepsi bu ama en az 20 led var
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: Seckin ALAN - 06 Aralık 2011, 15:21:06
#include <16f877.h>   
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolünün 9600 bit/sn baud hızında olacağını ve
char islem;
void main ( )
{

gitana:
islem = getc();
if (islem=='1'){goto git1;}
goto gitana;
git1:
islem = getc();
if (islem=='2'){output_toggle(pin_b0);goto gitana;}
goto git1;

}

biraz ilkel oldu ama işe yarıyor 12 için örnek kod
seriport verileri byte byte gönderiyor o yüzden once ilk byteı sonra ikinci byteı okuyoruz.
örnek 1A verisini gönderdik
ilk giden byte 1 sonra giden byte ise A ; 1A tek seferde gitmiyor

BU ARADA, KİMSE SANA BİRŞEY ANLATMAK ZORUNDA DEĞİLDİR. İLK MESAJLARINDA NE YAPMAK İSTEDİĞİNİ AÇIKÇA YAZSAYDIN YARDIMCI OLUNURDU. İKİNCİ OLARAK KİMSEYE ÇEMKİRME HAKKIN YOK KİMSE SENİN BABANIN UŞAĞI DEĞİL. VERDİĞİMİZ BİLGİLER SONUCU SENDEN PARA TALEPTE ETMİYORUZ Kİ ÇEMKİRMEYE HAKKIN OLSUN!
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 16:15:58
seçkin teşekkür ederim ben kimseye bişid emiyorum tek dediğim benim gibi uygulamalı örnekler asla böyle bir şey söyleme hakkına sahip değlim burası seviyeli ve sonuca ulaşıla bilinen bir form kodlarını denicem önemli olan 1 led değil 20 led denicem inş işe yarar ellerine sağlık çok makbule geçti çok can alıcı konular açıyorum farkındasın umarım benim gibi kim bilir başkalarıda yararlanır diğer konulardada çok ayrıcalıklı konular ve sorularla geliyorum ki sonuca bağlandı bununda sonuca bağlanacağından eminim herkese teşekkür ederim örnek ve uygulamalar ve açıklamaları verdim zaten dikkat edersen neyse şimdilik bu kadar teşekkür ederim
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 16:27:17
///  bu kod çalışmıyor ----------- denedim


#include <16f877.h>   
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=2000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolünün 9600 bit/sn baud hızında olacağını ve
char islem;
void main ( )
{

gitana:
islem = getc();
if (islem=='1'){goto git1;}
goto gitana;
git1:
islem = getc();
if (islem=='2'){output_high(PIN_B1);goto gitana;}
goto git1;

}


kodu bu şekilde düzenledim kristali 20 yaptım pinout olarak değştirdim data olarak 12 göderdim ama çalışmıyor malesef sen denedinmi bunu hocam led yanmıyor
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 18:11:21
şimdilik çok farklı bir töntem buldum onu kullanacağım bu sorun hakkında çalışan bir uygulama olur inşallah sorun çözülmüş değil....

bana sen acemisin bana önce git pici öğrende gel diyenlere hitapen ben yeterince biliyorum burda sorun şu uygulaması olan bir kodun hataları tespit edilmiştir ben burda çalışan kodu verdim yorun yazanların hepsi malesef denemeden buraya kod fikir anlamında yazıyorlar lütfen denemeleri yapmadan etmeden ortaya bir şey yazmayın çünkü ben deniyorum sonuç olumsuz... özellikle belirtiyorum buraya soru soranalra karşı öm yargılı cevap yazanlar var özelden de dahil kimsenin ne bilip bilmediği değil soruya karşı bir çözüm üreten bir yardım önemli yoksa yazmış şu değişken bu değşken değşkeni biliyoruz ama soru önemli sorulan soruya yönelilmeli lütfen kırıcı cevap yazmayınız kimseye kemkirdiğimiz yok sorun var sadece sorunumuza cevap istiyoruz..

madem acemiyiz bilmiyoruz formdan gidelim gitsin hep bilenlerin formu olsun.....
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: Seckin ALAN - 06 Aralık 2011, 20:46:36
ifadeyi gönderirken string olarak mı gönderiyorsun ?
Başlık: Ynt: 16F877 SORGULAMA YARDIM
Gönderen: xxlxxl - 06 Aralık 2011, 23:00:06
evet string olarak gönderiyorum