본문 바로가기

환영합니다~45

Character LCD에 데이터/명령어 입력하기(Write) arm칩과 character lcd를 연결해보겠다. 우선 캐릭터 lcd의 data sheet를 다운받는다.모델명(16216D-4-B102A)으로 구글에서 검색해보니 쉽게 다운이 가능했다. 위의 표는 해당 모델의 각 핀의 역할에 대해서 서술한 것이다.1~3번과 15, 16번 핀은 전원과 관련된 핀이고,4~6번은 데이터 입출력 컨트롤을 할 수 있는 핀이다.7~14번은 데이터 전송 버스 핀이다. 전원핀은 VCC GND에 맞춰서 연결해주면 되고, 데이터 버스 핀(7~14)는 한번에 8 bit씩 전송가능한 데이터 전송 경로이다.이 중 데이터를 전송할것인지 수신할것인지를 컨트롤 할 수 있는 4, 5, 6번 핀이 가장 중요하다. 이제 4, 5, 6번핀의 사용법을 알려주는 TIMING DIAGRAM을 살펴보자.아래 표.. 2013. 4. 15.
volatile 변수의 쓰임 volatile 키워드는 한 마디로 얘기하면 컴파일러가 메모리 접근을 최소화 시키는 최적화를 하지 못하게 막는 예약어이다. 의미없는 반복문 같은 경우는 컴파일러에 따라서 캐쉬 메모리를 이용한다던가 레지스터 내에서 모든 연산을 마치고 값을 다시 메모리로 계산값을 메모리(즉, 변수)에 저장하는 최적화를 진행한다. volatile은 이러한 최적화를 금지하고 FM대로 메모리에 접근하고 레지스터로 이를 읽어와 연산 후 메모리로 다시 저장시키는 방식으로 처리하라는 선언이다.volatile 선언은 크게 두 가지 의미가 있다.첫째는 컴파일러가 코드를 최적화시키는 것을 방지하겠다는 것이다. int main() { volatile unsigned int iCount = 0; *((volatile unsigned int *.. 2013. 4. 11.
불 대수(BOOL) ※공리란 증명없이 참으로 인식하는 것을 말한다. (예 1 + 1 =2)교환법칙 : 연산자를 기준으로 좌우 피연산자의 위치를 교환. 식이 복잡해지면 헷갈릴수 있으므로 주의한다. 분배법칙 : 연산자가 두 개 이상이어야만 성립한다.(같은 연산자 두개는 해당안됨.) 2013. 4. 11.
2. (AT91SAM7S256) GNUARM for cygwin 설치하기 이번은 AT91SAM7S256에 프로그램을 올리기 위한 두번째 단계로 먼저 cygwin이 설치되어 있어야 한다. www.gnuarm.com 에 접속한다.상위 메뉴의 FILES를 클릭하면 파일 다운로드 목록이 뜨는데,가장 아래에 있는 GCC-4.1 Toolchain중에 cygwin- binutils 2.16.1 버전을 다운로드 해준다. 다운완료 후 Next 신공으로 진행하면 되는데, 중요한 부분이 한가지 있다. 위와 같은 화면이 나오면 꼭 Cygwin options에서 표시한 부분을 체크 해제해주어야 한다. 체크 해제하지 않으면 이후 컴파일이 안되는 참사를 맞닥뜨릴수 있으므로 꼭 체크 해제를 해주고 넘어가자.나머지 부분은 Next 광클로 넘어가면 된다. 이후 이를 테스트해볼 파일을 구한 후 해당 파일이 있.. 2013. 4. 10.