Arkadaşlar iyi akşamlar.
0x10000001 şeklindeki bir veriyi hem
0x10000001>0x00000010>0x00000100... şeklinde hem de
0x10000001>0x00000011>0x00000110... şeklinde kaydırmak istiyorum. Bunlar için komut nedir acaba?
Herkese iyi çalışmalar.
https://www.picproje.org/index.php/topic,19635&highlight=
Bu linke bir göz at derim.
Alıntı yapılan: "Chan86"Arkadaşlar iyi akşamlar.
0x10000001 şeklindeki bir veriyi hem
0x10000001>0x00000010>0x00000100... şeklinde hem de
0x10000001>0x00000011>0x00000110... şeklinde kaydırmak istiyorum. Bunlar için komut nedir acaba?
Herkese iyi çalışmalar.
Merhaba,
Hangi PIC'i kullacaksın ? Zira PIC12 ve PIC16 serisinde senin istediğin işlemi yapan bir komut malesef yok. PIC18 veya daha üst versiyonlara bakman gerek.
Selamlar
Teşekkür ederim herkese arkadaşlar 16F877 ile kayan yaz için kayma efekleri kullanmak amacıyla bit kaydırma işlemi gerekiyordu ve sağolun yardımlarınızla çözdüm.
Alıntı yapılan: "arslan74"Alıntı yapılan: "Chan86"Arkadaşlar iyi akşamlar.
0x10000001 şeklindeki bir veriyi hem
0x10000001>0x00000010>0x00000100... şeklinde hem de
0x10000001>0x00000011>0x00000110... şeklinde kaydırmak istiyorum. Bunlar için komut nedir acaba?
Herkese iyi çalışmalar.
Merhaba,
Hangi PIC'i kullacaksın ? Zira PIC12 ve PIC16 serisinde senin istediğin işlemi yapan bir komut malesef yok. PIC18 veya daha üst versiyonlara bakman gerek.
Selamlar
arslan hocam hi-tech de RRF, RLF komutları yokmu bunlar olmadan nasıl seri haberleşme yapıyorsunuz bu çok büyük bir eksik bence asm de olupda C de olmaması :?
Alıntı Yap
arslan hocam hi-tech de RRF, RLF komutları yokmu bunlar olmadan nasıl seri haberleşme yapıyorsunuz bu çok büyük bir eksik bence asm de olupda C de olmaması
Aslında o kadarda büyük bir sorun değil.
Nedeni C de, ASM ile C birlikte karışık kod yazabilme imkanı vardır. C' nin yetmediği yerde ASM kodu ekleyebilirsin. Dolaysıyla iş sizin C ve ASM bilgisine bağlı kalıyor. Hatta bazı kodlarda daha az yer kaplasın ve daha hızlı çalışsın diye C kodunun içine ASM kodları eklediğini görürsünüz.
Bazen bende ASM kodları ekliyorum. Ama mecbur kalmadıkca kullanmiyorum ASM kod yazmak cok zor ve bircok şeye dikkat etmeniz gerekiyor. C de kod yazmak ASM göre cok daha hızlı ve sizin adınıza bircok şeyi kontrol ediyor.
C'de kod yazmayı seviyorum diyebilirim. Üst seviyede kod yazmak bu kadar zevkli değil. ASM kod yazmak ise Cin işkencesi.
Selamlar
bende artık C de kod yazmaya başladım artık asm ye dönmem heralde o keyfi aldım bikere :D
Chan86 sorunun çözümü bu olabilir:
0x10000001>0x00000011>0x00000110...
if(veri&0x80) {veri<<=1;veri|=0x01;} else {veri<<=1;}
0x10000001>0x00000010>0x00000100...
veri<<=1;
Basit bir RLF yada RRF uygulaması için kodları şişirmeye gerek yok bence
arslan hocamın dediği gibi asm ile yapmak daha mantıklı bence
asm("rlf _reg,f"); //sola kaydır
asm("rrf _reg,f"); //sağa kaydır
asm("RRF REG,F"); şeklindede yapılabilir ben örnek olsun diye paylaşmıştım kimse cvp vermemiş ;)