Битовые Маски на PIC
- Сообщения: 17
- Зарегистрирован: Сб фев 17, 2018 23:44:11
Добрый вечер, ребят! Расскажите пожалуйста или объясните(на примере) или дайте наводку на литературу, вот капец для какого чайника, по битовым маскам. Я не понимаю как это применяется именно к контроллерам PIC. Мне вот понятно что такое И , ИЛИ, Инверсия, исключающее ИЛИ. Но я не пойму, как жонглировать ими , применительно к микроконтроллерам, не понимаю физики. Спасибо большое за любую помощь.

- Реклама
- Сообщения: 99
- Зарегистрирован: Ср мар 25, 2015 09:12:45
Абсолютно так же как и в классическом С. Разницы никакой. Для примера, все очень хорошо, на пальцах, разжевано вот тут:
http://elisey-ka.ru/c/%D0%9A%D1%80%D1%8 ... %D0%B8.pdf
http://elisey-ka.ru/c/%D0%9A%D1%80%D1%8 ... %D0%B8.pdf
- Сообщения: 60
- Зарегистрирован: Пт янв 11, 2013 10:54:43
- Сообщения: 223
- Зарегистрирован: Вс июл 10, 2011 14:41:10
- Сообщения: 17
- Зарегистрирован: Сб фев 17, 2018 23:44:11
- Реклама
#include <xc.h>
// makros
unsigned char var,bitno,mask;
#define bitset(var,bitno) ((var)|=1<<(bitno))
#define bitclr(var,bitno) ((var)&=~(1<<(bitno)))
#define testbit(var,bitno) ((var>>bitno)&0x01) // chek 1
#define testbit_0(var,bitno) (!((var>>bitno))&0x01) // chek 0
#define bits_on (var, mask) var |= mask //
#define bits_off (var, mask) var &= ~ 0 ^ mask
///////////////////////////////////////////////////////////////////////////////
все просто...
// makros
unsigned char var,bitno,mask;
#define bitset(var,bitno) ((var)|=1<<(bitno))
#define bitclr(var,bitno) ((var)&=~(1<<(bitno)))
#define testbit(var,bitno) ((var>>bitno)&0x01) // chek 1
#define testbit_0(var,bitno) (!((var>>bitno))&0x01) // chek 0
#define bits_on (var, mask) var |= mask //
#define bits_off (var, mask) var &= ~ 0 ^ mask
///////////////////////////////////////////////////////////////////////////////
все просто...


