검색결과 리스트
전체 글에 해당되는 글 199건
글
20140407 (반가산기 XOR없이, 회로도 최적화 공식, typedef, strlen, strcpy, strcat)
36일차
------------------
논리 회로
------------------
--- 반가산기 (Half Adder)
XOR 게이트가 없을 경우
실제)
--- 회로도 최적화 공식
----------
c 언어
----------
--- typedef
새로운 데이터 타입 정의
ex)
typedef unsigned int ui;
ui uiNum;
uiNum은 unsigned int 형으로 정의 된다.
전역영역에서 선언해 주는게 좋다.
--- strlen
#include <string.h>
size_t strlen(const char * s);
문자열 길이 리턴.
--- strcpy, strncpy
#include <string.h>
char * strcpy(char * dest, const char * src);
char * strncpy(char * dest, const char * src, size_t n);
dest에 src 의 내용을 (n만큼) 복사한다.
--- strcat, strncat
#include <string.h>
char * strcat(char * dest, const char * src);
char * strncat(char * dest, const char * src, size_t n);
dest뒤에 src를 (n만큼) 문자를 잇는다
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140409 (CPU, Microcontroller, RAM, ROM, RISC, CISC, 구조체, #pragma pack) (2) | 2014.04.09 |
---|---|
20140408 (회로도 최적화, 4bit 덧셈, 구조체) (0) | 2014.04.08 |
20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush) (0) | 2014.04.04 |
20140403 (TTL, AND gate, putchar, fputc, getchar, fgetc) (0) | 2014.04.03 |
20140402 (main 인자전달, stream) (0) | 2014.04.02 |
글
20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush)
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반환
끝에 자동으로 엔터를 친다.
--- gets, fgets
- char * gets(char * s)
- char * fgets(char * s, int n, FILE * stream)
성공시 *s 의 주소값 반환, 실패시 or 파일 마지막 도달시 NULL
엔터입력 포함.
fgets함수에서 int n 의 값은 받고 싶은 글자 + 1만큼
변수를 선언해야 한다.
!! 주의 !!
gets() 함수는 입력을 받으며 메모리를 침범할 수 있기때문에
사용을 자제해야한다.
gets 뿐만 아니라 scanf, read, strcpy, memcpy, ...등등 전부 위험한 함수다.
그래서 fgets 를 사용해야 한다!!!
--- fflush
버퍼를 비우는 함수
int fflush(FILE * stream)
fflush(stdin) 입력 버퍼 비움
fflush(stdout) 출력 버퍼 비움
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140408 (회로도 최적화, 4bit 덧셈, 구조체) (0) | 2014.04.08 |
---|---|
20140407 (반가산기 XOR없이, 회로도 최적화 공식, typedef, strlen, strcpy, strcat) (0) | 2014.04.07 |
20140403 (TTL, AND gate, putchar, fputc, getchar, fgetc) (0) | 2014.04.03 |
20140402 (main 인자전달, stream) (0) | 2014.04.02 |
20140401 (함수 포인터, void 포인터) (0) | 2014.04.01 |
글
20140403 (TTL, AND gate, putchar, fputc, getchar, fgetc)
34일차
--------------------
디 지 털 회 로
--------------------
--- 트랜지스터
- NPN : 소량의 입력 전류와 양의 전압을 Base에 인가하면 (Vb > Ve) Collector에서
Emitter로 다량의 전류가 흐를 수 있게 된다.
- PNP : 소량의 출력 전류와 음의 전압을 Base에 인가하면 (Vb < Ve) Emitter에서
Collector로 매우 다량의 전류가 흐를 수 있게 된다.
트랜지스터끼리 조합하여 논리회로를 구성함.
--- TTL (Transistor Transistor Logic)
주로 5V 사용.
논리회로 종류로 트랜지스터 트랜지스터 구조를 말한다.
74XX 시리즈로 유명해졌다.
- 실제 생김새
빨강색 글씨로 1,7,8,14의 의미는
옆에 가닥가닥 각각 번호이다.
14 13 12 11 10 9 8
1 2 3 4 5 6 7
빨강색으로 줄 친 부분이 이 칩의 모델명이다.
데이터 시트 (AND Gate)
A, B로 입력
Y로 출력
--- 실습
- AND Gate
오른쪽 밑 부분 노란줄 두 개가 파란라인에 꽂혀있다.
A B Y
0 0 0 ( G : 0 , + : 1 , 1이 나오면 LED에 불이 들어옴)
A B Y
1 0 0
A B Y
0 1 0
A B Y
1 1 1
----------------
C 언어
----------------
-------------------
--- putchar, fputc
- int putchar(int c)
인자에 정수를 받아 한 문자만 아스키코드로 출력한다.
- int fputc(int c, FILE * stream)
인자에 정수를 받아 stream으로 한 문자만 아스키코드로 출력한다.
- 두 함수 리턴값은 출력된 문자(정수값)이고 에러시 EOF(-1)를 리턴.
--- getchar, fgetc
- int getchar(void)
한 문자만 입력 받는다.
- int fgetc(FILE * stream)
한 문자만 stream으로 부터 입력 받는다.
- 두 함수 리턴값은 입력된 문자(정수값)이고 에러시, 파일 끝에 도달시 EOF(-1)를 리턴.
ex) 예제
#include <stdio.h>
int MyPutchar(int);
int Mygetchar();
int main()
{
int iNum;
iNum = MyPutchar('A');
printf("\n%d \n", iNum);
iNum = fputc('A', stderr);
printf("\n%d \n", iNum);
fprintf(stderr, "EOF : %d\n", EOF);
iNum = Mygetchar();
fflush(stdin);
printf("%c \n", iNum);
iNum = getchar();
fflush(stdin);
printf("%c \n", iNum);
iNum = fgetc(stdin);
printf("%c \n", iNum);
return 0;
}
int MyPutchar(int iNum)
{
return fputc(iNum, stdout);
}
int Mygetchar()
{
return fgetc(stdin);
}
위의 예제를 보면
putchar, getchar는 제법 편리하고 꼬름하다는 것을 볼 수 있다.
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140407 (반가산기 XOR없이, 회로도 최적화 공식, typedef, strlen, strcpy, strcat) (0) | 2014.04.07 |
---|---|
20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush) (0) | 2014.04.04 |
20140402 (main 인자전달, stream) (0) | 2014.04.02 |
20140401 (함수 포인터, void 포인터) (0) | 2014.04.01 |
20140331 (2차원 배열, 이중포인터, 배열포인터) (0) | 2014.03.31 |