UCSR0A |= 0xfe;
|= 가 뭘 의미하는건가요??? ㅜㅜ
하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.
UCSR0A |= 0xfe;
UCSR0A = UCSR0A | 0xfe;
와 같습니다.
'|' 는 Bit OR 입니다.
죽 UCSR0A 의 값을 읽어 0xFE 값을 or 하여 그값을 UCSR0A 에 기록하는 것입니다.
쉽게 말해. 우선 0xFE는 2진수로 11111111(F) 11111110(E) 입니다.
따라서 위의 설명처럼 UCSR0A = UCSR0A |(OR) 11111111(F) 11111110(E) 이렇게 처리 되므로
| 연산자는 비트 연산자이기 때문에 0xFE와 UCSR0A의 각 비트값을 OR연산하게 됩니다.
즉, 결론을 내리자면 저 연산은 UCSR0A의 마지막 1비트를 제외한 나머지 비트 값을 1로 바꾸는 것입니다.
물론 다 아시는 내용이겠지만 혹시나 좀 더 도움이 되실까 해서 글을 남깁니다 ^^