Kod bu haliyle doğru çalışıyor.Ancak // ile iptal ettiğim kodla beraber çalıştığında ilk 0.bit kaçıyor.Şöyleki; B Tuşuna bastığımda 01000010 verisini almam gerekirken 00100001 verisini alıyorum. Ancak protokolü incelediğimde for(time=0; time<5; time++) DelayUs(BAUD); for(time=0; time<5; time++) DelayUs(BAUD/2); bu kadarlık bir gecikme koymam gerektiğini anlıyorum.Çünkü protokole göre start biti gelene kadar hat lojik-1'de bekliyor.Start biti geldiğini while(RX) ile anlıyorum.Daha sonra 104us bekliyorum ki start biti geçsin.Ondn sonra da 52us kadar bekleyip LSB bitinin ortasında bir yere geliyorum.Tam bu noktada (ortadayken) LSB bitini alıyorum.Ama gel gelelimki uygulamada böyle olmuyor, LSB biti kaçıyor ve 1.bitten başlıyorum almaya.Ancak 104us beklemeden, direk START biti geldiği anda ortalayıp, start bitinin ortasından veri almaya başlayınca doğru alıyor.