BIT 추출 MACRO


BIT 추출 MACRO

MCU 작업을 하다 보면 메모리 절약을 위하여 byte를 나누어서 사용하여야 할 경우가 많이 생긴다. 이때 bit 작업을 해야 하는 경우를 위하여 간단한 macro를 사용하는 것이 편리하다. 물론 struct에 bit 단위로 선언을 하여 작업하는 것도 하나의 방법이다. 차량용 CAN Protocol 작업 시에는 비트 operation이 필수 불가하다. 먼저 data에서 특정 bit 값만 추출하는 경우부터 시작하자. Data 의 특정 비트 bit 값을 추출한다고 보면 bit 순서 7654 3210 특정 값) 1001 0101 에서 3 ~ 5번째 bit 값을 추출하려면 - 3번째 앞까지는 필요 없으니 shift 3을 하면 나머지 부분이 사라진다. data >> 3 ==> 0001 0010 된다. - 이후 3자리만(3,4,5 bit) 필요하니 0000 0111 로 mask 를 수행한다 (data >> 3) & (0000 0111) ==> 010 이 되는 것이다. 이를 MACRO로 표현을 ...


#BIT #GET #MACRO #비트

원문링크 : BIT 추출 MACRO