부산IT학원/스마트컨트롤러
-
20140408 (회로도 최적화, 4bit 덧셈, 구조체)부산IT학원/스마트컨트롤러 2014. 4. 8. 16:19
37일차 ---------------- 회로도 최적화 ---------------- - 어제 했던 내용을 이어서 어제는 sum을 계산했고 오늘은 carry를 계산한다. 방식은 같다. 실습 A 1 B 1 Ci 1 인 경우 A 1 B 1 Ci 0 인 경우 A 0 B 1 Ci 0 인 경우 A 0 B 0 Ci 0 인 경우 --- 4bit 덧셈 4bit 덧셈을 하려면 전가산기 3개와 반가산기 1개가 필요하다 --- ATMEL - 메모리 회사 - cpu사업도 시작했음. - cpu 시리즈 중에 AVR, AT91.. 등등 있음 - AVR 시리즈 중에 Mega 모델 중 ATMega128을 공부할 예정. --- ATMega128 - Microcontroller - 8bit - 128 Flash Memory --------..
-
20140407 (반가산기 XOR없이, 회로도 최적화 공식, typedef, strlen, strcpy, strcat)부산IT학원/스마트컨트롤러 2014. 4. 7. 16:58
36일차 ------------------ 논리 회로 ------------------ --- 반가산기 (Half Adder) XOR 게이트가 없을 경우 실제) --- 회로도 최적화 공식 ---------- c 언어 ---------- --- typedef 새로운 데이터 타입 정의 ex) typedef unsigned int ui; ui uiNum; uiNum은 unsigned int 형으로 정의 된다. 전역영역에서 선언해 주는게 좋다. --- strlen #include size_t strlen(const char * s); 문자열 길이 리턴. --- strcpy, strncpy #include char * strcpy(char * dest, const char * src); char * strncpy..
-
20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush)부산IT학원/스마트컨트롤러 2014. 4. 4. 14:16
35일차 -------------------- 반 가 산 기 -------------------- ---------------- --- NOT Gate A Y 1 0 0 1 --- NAND NOT + AND L L 에 연결해 본 것. --- 가산기 ( Half Adder ) 1비트 덧셈. A B S C 0 0 0 0 A B S C 1 0 1 0 0 1 1 0 A B S C 1 1 0 1 ---------------------- 문 자 열 입 출 력 ---------------------- --- puts, fputs - int puts(const char * s) - int fputs(const char * s, FILE * stream) 성공시 음수가 아닌 값, 실패시 EOF반환 끝에 자동으로 엔터를 ..
-
20140403 (TTL, AND gate, putchar, fputc, getchar, fgetc)부산IT학원/스마트컨트롤러 2014. 4. 3. 14:31
34일차 -------------------- 디 지 털 회 로 -------------------- --- 트랜지스터 - NPN : 소량의 입력 전류와 양의 전압을 Base에 인가하면 (Vb > Ve) Collector에서 Emitter로 다량의 전류가 흐를 수 있게 된다. - PNP : 소량의 출력 전류와 음의 전압을 Base에 인가하면 (Vb < Ve) Emitter에서 Collector로 매우 다량의 전류가 흐를 수 있게 된다. 트랜지스터끼리 조합하여 논리회로를 구성함. --- TTL (Transistor Transistor Logic) 주로 5V 사용. 논리회로 종류로 트랜지스터 트랜지스터 구조를 말한다. 74XX 시리즈로 유명해졌다. - 실제 생김새 빨강색 글씨로 1,7,8,14의 의미는 옆에..
-
20140402 (main 인자전달, stream)부산IT학원/스마트컨트롤러 2014. 4. 2. 17:50
32일차 --------------------------- main 함 수 로 인 자 전 달 --------------------------- - int main( int iNum, char * Cmd[] ) main함수 인자에 위의 인자 처럼 넣어주면 iNum에는 받은 명령어 갯수, Cmd에는 그 명령어들이 각각 저장되어 있다. ex) gcc -o main main.c iNum 에는 4, Cmd[0] : gcc Cmd[1] : -o Cmd[2] : main Cmd[3] : main.c 이렇게 저장됨. 인자의 이름은 프로그래머 재량이지만 보통 int main(int argc, char * argv[]) 로 많이 쓴다. argc ( ARGument Count ) argv ( ARGument Vector )..
-
20140401 (함수 포인터, void 포인터)부산IT학원/스마트컨트롤러 2014. 4. 1. 17:40
32일차 ------------------------ 함 수 포 인 터 ------------------------ - 함수의 주소값을 저장하는 포인터. 먼저 이 포인터를 선언하기 위해서는 Data Type을 알아야한다. Data Type은 Prototype(함수원형)에서 이름 부분만 (*)로 바꾸면 된다. ex) int main() main함수의 Data Type은 { 명령어들 } int (*)() 이다 void test() test함수의 Data Type은 { 명령어들 } void (*)() 이다 int printf(const char *, ... ) printf함수의 Data Type은 int (*)(const char *, ...) 이다 - 함수 포인터 선언 및 사용 #include void te..
-
20140331 (2차원 배열, 이중포인터, 배열포인터)부산IT학원/스마트컨트롤러 2014. 3. 31. 10:54
31일차 ------------------------- 2차원 배열 메모리 구조 ------------------------- - char Arr[3][3]; int * ip = &Arr[0][0]; 2차원 배열이 실제 메모리에서는 이런 식으로 저장되어 있다. 그래서 아래와 같이 모두 같은 값을 가리킨다. ip[3] == Arr[0][3] == Arr[1][0] - 줄 이동 (주소값) Arr + 0 = &Arr[0] + 0 = &Arr[0] Arr + 1 = &Arr[0] + 1 = &Arr[1] Arr + 2 = &Arr[0] + 2 = &Arr[2] - 칸 이동 (주소값) &Arr[0][0] = Arr[0] + 0 = *(Arr + 0) + 0 = *( &Arr[0] + 0 ) + 0 &Arr[0][..
-
20140328 (const, 2차원배열)부산IT학원/스마트컨트롤러 2014. 3. 28. 17:32
30일차 ------------- const ------------- --------------------------- --- 포인터에 const가 붙으면? int a = 10; a = 40; // 가능 const int b = 20; b = 10; // 불가능 int * c = &a; *c = 20; // 가능 c = &b; // 불가능 cont int * d = &a; *d = 30; // 불가능 d = &b // 가능 int * const e = &a; *e = 40; // 가능 e = &b // 불가능 const int * const f = &a; *f = 11; // 불가능 f = &b; // 불가능 ---------------------------- 2 차 원 배 열 --------------..