BASIC4MCU | 질문게시판 | 아두이노 <<=, volatile 자료형 질문
페이지 정보
작성자 master 작성일2019-06-15 11:00 조회3,794회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=9430
본문
아두이노 프로그래밍을 배우고 있는 학생입니다.
아두이노 프로그래밍에서 <<= 연산자의 뜻과 volatile자료형에 대해 설명 부탁드립니다 ㅠㅠ
이해하기 쉽게 부탁드립니다!
//
A<<=B; 이 문장의 원형은
A=A<<B; 이 것입니다.복합문이라고 하죠(4) 혼합 연산자
혼합 연산자는 말 그대로 두개의 연산자를 혼합한 것입니다.
프로그램을 만들다 보면
a=a+3;
a=a-2;
a=a*3;
a=a/2;
a=a|0x0F;
a=a&0x0A;
a=a>>4;
이런 수식처럼 한 개의 데이터 여기 선 a가 겹치는 수식을 쓸 때가 있습니다. 이럴 때 더 간단히 쓸 수가 있습니다.
바로 혼합 연산자를 쓰면 되는데 혼합 연산자의 종류에는
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
이런 것들이 있습니다. 각각의 기능을 살펴보면
a += b -> a = a + b
a -= b -> a = a - b
a *= b -> a = a * b
a /= b -> a = a / b
a %= b -> a = a % b
a &= b -> a = a & b
a |= b -> a = a | b
a ^= b -> a = a ^ b
a <<= b -> a = a << b
a >>= b -> a = a >> b
인터럽트에서 사용하는 전역 변수는 volatile 선언을 해줘야 합니다.모든 컴파일러 공통사항은 아니고요 코드비젼AVR 컴파일러나 8051컴파일러는 volatile 사용하지 않아도 됩니다.PC처럼 복잡한 OS위에서 여러 타스크가 동작하는 시스템에서 필요한 내용이죠아두이노는 PC용 컴파일러가 아닌데도 volatile 을 사용하는 이유는 아두이노의 컴파일러인 gcc가 원래 pc용 컴파일러이고, 일부 수정해서 아두이노를 지원하기 때문에 volatile을 사용해야 합니다.웹자료 더 읽어보세요
댓글 0
조회수 3,794등록된 댓글이 없습니다.