Блин, ну ничего не понимаю про bit()

bobrman
Offline
Зарегистрирован: 10.07.2011

Ну пожалуйста объясните новичку, как это:

bit()
Computes the value of the specified bit (bit 0 is 1, bit 1 is 2, bit 2 is 4, etc.).

объясняет работу вот этой строки кода:

TIMSK1 = bit(OCIE1A);

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

bobrman, это макрос. Сформирует такую команду: TIMSK1= 1<<OCIE1A ,  аналогичный макрос TIMSK1= _BV(OCIE1A);

Я бы лично не советовал ими пользоваться - совершенно бессмысленная хрень :)

bobrman
Offline
Зарегистрирован: 10.07.2011

вот спасибо, а то, я понимаю что в этой строке происходит, а найти объяснение не могу...

А где же тогда происходит определение этого макроса?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

bobrman, загляните в файлик arduino.h  там много ардуиновских макросов,  а  в  sfr_defs.h  ещё  несколько штук  уже от компилятора.