Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

a ve b portunu maskeleme

Başlatan bulutay, 15 Mart 2016, 11:24:51

bulutay

bldc motor sürmek için a portunu maskeliyordum. 18 pinli oldugu için b portunun b5 pinini de maskelemem gerekiyor.fh = (input_a()&(0b00001110));
şimdi kulladıgım maskeleme bu. burdan a portunun 1 nolu pinini akım okuma için kullanmam gerekiyor. onun yerine b5 e hall girişi yapmam gerekiyor. bu maskelemeyi nasıl yapabiliriz.

sadogan

Bit bazında komutlar var onları kullanmak daha mantılı deyilmi.?

kimlenbu

Soruyu anlamayan başkası var mı, bi ben mi anlamadım

dursuncemal

tam olarak anlasilamadi.ama ne olrsa olsun bitsel islem daha rahat olacak gibi.
:=

bulutay

a portunun ikinci ve ücüncü pini b portunun 5. pinini maskelemem gerekiyor. ama nasıl yapılacak.

mehmet

Bunları kullanabilirsiniz;
/* Bit Operation macros */
#define sbi(b,n) ((b) |=   (1<<(n)))        /* Set bit number n in byte b   */
#define cbi(b,n) ((b) &= (~(1<<(n))))       /* Clear bit number n in byte b */
#define rbi(b,n) ((b) &    (1<<(n)))        /* Read bit number n in byte b  */
#define fbi(b,n) ((b) ^=   (1<<(n)))        /* Flip bit number n in byte b  */

#define bit_is_set(b,n)   (b & (1<<n))      /* Test if bit number n in byte b is set   */
#define bit_is_clear(b,n) (!(b & (1<<n)))   /* Test if bit number n in byte b is clear */
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"