Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: xxlxxl - 21 Eylül 2011, 17:09:28

Başlık: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: xxlxxl - 21 Eylül 2011, 17:09:28
while (TRUE) {
if (getchar() == '1')
output_high(PIN_B1);
if (getchar() == '2')
output_low(PIN_B1);
if (getchar() == '3')
output_high(PIN_4);
if (getchar() == '5')
output_low(PIN_B2);

}
}

arkadaşlar yukarıdaki örnek c kodda 1,2,3,4,5 klavyeden bilgi gönderdiğim zaman ledleri yakıp söndüre biliyorum fakat sadece 9 a kadar rakam gire biliyorum ben 10,11,12,13 veya 25 girmek istiyorum 9 led değilde 20 led yakmak istiyorum nasıl yapa bilirim c kodu yardımı olurmusunuz acil bir türlü işin içinden çıkamadım.... şimdiden teşekkür ederim

9 a kadar herşey normal fakat iki haneli giriş yazdığım zaman kabul etmiyor hata

if (getchar() == '5') normal derleniyor
if (getchar() == '12') hata oluşuyor porttan 12 gönderdiğim zaman led yanmıyor
Başlık: Ynt: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: esensoy - 21 Eylül 2011, 18:08:26
12 iki byte oluyor, 12 led için 12 yerine D gönder mesela, hex kodmuş gibi,
ya da illa boyle olsun diyorsan 2 byte nasıl alınır, nasıl işlenir ona yoğunlaş
Başlık: Ynt: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: xxlxxl - 21 Eylül 2011, 18:11:11
fakat onu düşündüm karşı taraftaki devre harf kabul etmiyor... benim mutlaka 12-13-14 diye gönderince algılaması lazım seri porttan 12 nin hex decimal gibi değrlerini ayzdım olmuyor rica ediyorum bu konuda bri yardım
Başlık: Ynt: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: esensoy - 22 Eylül 2011, 09:08:37
kabul etmiyor diye birşey olmaz, hazırını isteyeceğine biraz duruma yoğunlaşmalısın,

hazırına da gelince;

iki byte dedik, demek ki
if((getc()=='1') & (getc()=='2')) şeklinde düşünerek programını düzenlemelisin,
önden gelen karakterleri bir değişkene atıp, iki karakter de geldikten sonra if ile sorgulama yapmak daha doğrusu tabi ki.
Başlık: Ynt: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: xxlxxl - 22 Eylül 2011, 13:02:35
emresensoy kardeşim eline koluan sağlık hiç aklıma gelmedi çünkü normalde delphi biliyorum mantık üzerine yazıyorum yapıyorum süpersin oldu fakat neden zaman geçikmesi oluyor acaba pc de yaptımdanmı devreye kırmadım daha inş devrede sorun olmaz ilerde bir proje yapmayı düşünüyorum onun için bu kadar acele etmem birde 4550 ve 2550 de seri port üzerinden nasıl göndere biliirm led yaka bilirim usb ile sorun yok usb den yaap biliyorum fakat ben usb bağlamadan seri porttan göndericem 10 veya 5 ile led yakmak sitiyorum bu konuda bana yardımcı olurmusun mevcut usb ile yakılan örnek kodu da gerekirse vere bilirim istedğim seriporttan ledi yakmak birde
Başlık: Ynt: 16f877a ACİL YARDIM ARKADASLAR
Gönderen: esensoy - 22 Eylül 2011, 19:05:10
tek nefeste yazılan isteklere bayılıyorum, çok anlatıcı oluyorlar