본문 바로가기

환영합니다~45

연산자 우선순위와 결합방향 연산자 우선순위란, 같은 항에서 연산자가 겹쳤을 때 어느 연산자가 가장 우선권을 갖고 먼저 처리하느냐를 정해놓은 것이다.이러한 우선순위를 굳이 달달 외울 필요는 없지만, 우선순위가 적용되어 처리되는 경우가 간간이 있으므로연산자간 우선순위가 있다는 정도만이라도 알아두면 좋을 것 같다. 순위 연산기호 연산자 결합방향 1 () 함수호출 → [] 배열 인덱스 -> 간접지정(구조체 멤버) . 직접지정(구조체 멤버) ++, -- (변수 뒤에서 증가/감소) 후위증가/감소 2 ++, -- (변수 앞에서 증가/감소) 전위증가/감소 ← sizeof 바이트 단위 크기 계산 ~ 비트단위 NOT연산 (비트 반전) ! 논리 NOT -, + 부호 연산(음수, 양수 표현) & 주소 연산 * 간접지정 연산 (포인터) 3 (자료형) 자.. 2013. 4. 27.
make 명령어와 makefile * make 명령어make 명령어란 Unix/Linux 시스템에서 포함되어 있는 명령어로, makefile이라는 파일을 참조하여 빌드하는 명령어이다.(Windows에서도 nmake라고 똑같은 기능을 하는 명령어가 존재한다.) makefile 은 컴파일 시의 다양한 옵션을 정리해놓은 파일로 script 언어의 문법적 특성을 지닌다.이렇게 make명령어를 수행하면 makefile의 옵션을 참조하여 컴파일 하므로,매번 엄청나게 긴 옵션을 주거나 여러 파일을 컴파일 해야할 때 유용하다. 01 #CC: 변수 $(CC): CC의 값02 CC = cl 03 CCFLAGS= -Wall04 # label: label사이에 반드시 enter05 # all: 아무 것도 안쳤을때 수행06 all:m.. 2013. 4. 22.
lcd.c lcd.h의 makefile 수정하기 #------------------------------------------------------# 2013 SmartController Cource - By CM SueHong Jue, 2013.04.08.#------------------------------------------------------ifndef ERASE_FCT# rm -rf: 묻지도 따지지도 않고 강제 삭제ERASE_FCT=rm -rfendififndef WCCROSS_COMPILEWCCROSS_COMPILE=arm-elf-endif WCTOOL=gcc WCOUTFILE_SRAM=at91sam7s_sram_wcWCOUTFILE_FLASH=at91sam7s_flash_wc WCTARGET=AT91SAM7S256# include 폴.. 2013. 4. 22.
TIMING DIAGRAM대로 프로그래밍하기 임베디드 프로그래밍을 할 때는 각 기기의 timing diagram에 맞춰서 프로그래밍 해야원하는 결과를 얻을 수 있다. Character LCD 16216D-4-B102A의 경우에는데이터 시트에 아래와 같은 timing diagram이 나오는데각 핀의 데이터를 쓰는데 걸리는 시간에 맞춰 딜레이를 주어야의도한 대로 작동한다. write operation을 하는 함수를 구현할 때①, ②, ③ 에서 타이밍 다이어그램대로 Low값을 주고④ 에서처럼 딜레이를 준 후⑤ Enable 레지스터를 High값으로 바꾸어준다.⑥ High값으로 바뀌는데 시간이 필요하므로 다시 딜레이⑦, ⑧ LCD 데이터 버스를 클리어해주고 데이터 삽입⑨ 다시 딜레이⑩ Enable 레지스터를 Low로⑪ 다시 딜레이와 같이 구현해야 한다. *.. 2013. 4. 21.