klavyeye bilgi göndermek için hazırda,çalışan kod

Başlatan mcan, 12 Mayıs 2007, 22:54:22

mcan

elinde hazırda, çalışan ,klavyeye bir baytlık veri yollamak için kesme kullanılmamış,armut piş ağzıma düş şeklinde kodu olan varmı ?

vereceğim kodu ben yazdım fakat eksik kısımları var ve çözemedim,çözemediğim için sağlam çalışan kod arıyorum ki kıyaslama yapacağım.

void ps2gonder(int komut) 
   { 
         int denklik = 0;
         #bit komut0 = komut.0
         #bit denk = denklik.0
         
         disable_interrupts(INT_EXT);
         PS2_bit_sira   = 1;

         PS2_ClkTris  = 0;
         PS2_Clk  = 0;
         delay_us(80);
         PS2_DataTris = 0;
         PS2_Data = 0;
         delay_us(20);
         PS2_ClkTris = 1;
         
         while (PS2_Clk){}
         while (!PS2_Clk){}
         
         while(PS2_bit_sira<=9)
         {
            if(ps2_bit_sira<9)
            {
               if(komut0)
               {
                  ps2_Data = true;
                  denklik ++;
               }   
               else
                  ps2_data = false;
                  
               komut = komut>>1;   
            }
            
            else
            {
               if(denk)
                  PS2_data = false;    
               else
                  PS2_data = true;
            }
           
            while (PS2_Clk){}
            while (!PS2_Clk){}
            ps2_bit_sira++;
         }
         ps2_datatris = 1;
        
         while (ps2_clk){}
         
         while (ps2_data){}
         while (!ps2_data){}

         
         intf = 0;
         enable_interrupts(INT_EXT);
   }


bu kodun çözemediğim yanı şu ; FFh ,EEh , EDh gibi komutlar sorunsuzca işliyor fakat FEh ve EDh den sonraki ledlerin bilgisini yollarken hatalar oluşuyor mesela ledler için gönderdiğim bilgilerden sadece 3 ve 5 işliyor 1,2,4 işlemiyor.....çalışan bir örnek bulursam daha fazla uğraşmaktan kurtulucam belliki takıldığım bir yer var.

eğer  bu kodu kullanmayı düşünen olursa şu noktayıda söyliyim çalışmayan kodların ortak noktası içindeki '1' sayısının tek olması .büyük ihtimalle eşlik biti ile alakalı bir hatam var.fakat şu ana kadar bulabilmiş değilim.

XX_CİHAN_XX

mhk hocam yakın bir zaman önce böyle bir çalışma koymuştu.Basic ile yazıldığı için C ye kolaylıkla geçirirsin.Verdiği proje klavye ile lcd ye yazı yazma şeklinde istersen bir incele.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

SüleymanKara


mcan

Alıntı yapılan: "XX_CİHAN_XX"mhk hocam yakın bir zaman önce böyle bir çalışma koymuştu.Basic ile yazıldığı için C ye kolaylıkla geçirirsin.Verdiği proje klavye ile lcd ye yazı yazma şeklinde istersen bir incele.

görünen o ki bununla uğraşıcam. çünki hiç bir yerde hazır bulamadım,kendi yazdığımdaki hatayıda bulamadım, uğraşıcam artık..

Alıntı yapılan: "SüleymanKara"http://www.ccsinfo.com/forum/viewtopic.php?t=27544&highlight=keyboard

adresinde aradığınız bilgi mevcut ama kesme kullanılmış verilen örneklerde.

sağolun onu denedim çalışmıyor