분류 전체보기
2013.04.15_구조체_메모리관리
▶구조체 : C언어에서는 구조체와 배열을 중첩적으로 정의하므로 복잡한 구조의 자료를 효율적으로 구성할수 있다. #include #pragma pack(1) // 1byte 기반으로 byte 를 Packing 한다. struct SMART // 구조체이름을 SMART 라고 하고 { // 1 byte를 기반으로 byte를 Packing 한다. int A; // 4 byte char B; // 8 byte int C; // 12 byte short D; // 16 byte char E; // 16 byte int F; // 20 byte char G; // 24 byte short H; // 24 byte char I; // 28 byte }; #pragma pack(4) // 4byte 기반으로 byte 를..
2013.04.15_ARM칩_동작원리
ARM 동작원리 ARM LCD 설명 PA16 7번핀 DATA BUS SET PA17 8번핀 PA18 9번핀 PA19 10번핀 PA20 11번핀 PA21 12번핀 PA22 13번핀 PA23 14번핀 PA24 4번핀 데이터의입력(H) / 데이터 명령(L) PA25 5번핀 데이터 읽기(H) [CPU ← LCM]/ 데이터 쓰기(L) [CPU → LCM] 일반적으로 우리가 작성한 명령을 보내므로 (L) 인 CPU > LCM 일때를 많이 쓰겠다. 여기서 LCM 은 LCD Control Module 이라고 한다. PA26 6번핀 활성화 / 비활성화를 해주는 핀이다. [H.H → L] 하이에서 로우로 갈때 활성화된다.
2013.04.12_메인함수_임베디드약간
▶ Main() 의 인수 : 보통 main() 안에 인수를 int argc, char *argv[] 라고 잡아준다. ▶ 문자함수 : 많이 쓰이지는 않지만, 빨간박스안에 있는 함수는 어느정도 쓰인다. 대소문자 비교를 원치 않을때, 아이디에 알파벳이 아닌 다른문자를 기입하길 원치 않을때 ▶ 임베디드 ex) #define PIO_OER (*((volatile unsigned int*)0xFFFFF430 )) #define 문을 선언한후 main() 안에는 define 으로 정의된 PIO_OER 만 쓰면 소스를 짜기 편하다. ▶ char LCD 패널 1. GND 접지 2. VCC 5V 3. VL LCD에 출력되는 문자의 진하기 정도 4. RS 데이터레지스터/명령레지스터 선택하는 핀 5. RW 데이타를 읽기/쓰기..
2013.04.11_문자열을다루는배열,포인터배열
■ volatile : 휘발성 1. 변수 선언 앞에 붙이면 컴파일 과정에서 컴파일러가 함부로 최적화하지말고 코딩된 원래 의도대로 하라는 의미 2. 캐시 쓰지마라(캐시쓰지말고 장치나 메모리에 계속 값을 쓰고 가지고 오라는 의미 ARM에서 주소값 캐스팅 할때... ex) (Volatile unsigned int *)0xFFFFF400 ※ MCU(Micro Controller unit) : 특정시스템을 제어하기 위한 전용 프로세서로 ROM과 RAM을 내장하고 있음 ■ 문자열을 다루는 2차원 배열 #include #include int main() { int i; char student[5][20];//2차원 배열을 선언하여 문자열을 편하게 다룰수 있음 for(i = 0; i