본문 바로가기

분류 전체보기

(225)
임베디드 시스템이란? - Embedded System : 컴퓨터의 Hardware와 Software가 결합되어 특정한 목적을 수행하는 System Ex) 버스, 지하철 출입시 교통카드를 찍는 단말기 안에 임베디드 시스템이 내장되어있음 - Embedded System의 특징 CPU, Memory등의 Resource들이 매우 제한적이므로 전력 최소화와 메모리 최적화 필요 제한된 동작을 제한된 시간 안에 수행해야 함 크기가 작고 저렴함 단순한 동작을 하고 실행중 Reset이 불가능하므로 신뢰성이 높아야 함 - Embedded Hardware CPU or MPU : 중앙처리장치 Memory(RAM + ROM) Input / Output Devices Communication Interfaces : 다른 Embedded 장치와 통신 ..
[홍정모의 따라하며 배우는 C언어] 9.1 함수가 필요할 때 ~ 9.2 함수의 프로토타입 9.1 함수가 필요할 때함수가 언제, 왜 필요하고 어떻게 쓰는가? : 기능 확장이 필요한 경우, 같은 코드들이 반복될 때 사용함수 사용에 익숙해지면 C++, Python등의 객체지향 언어를 사용할 때 편리함 프로그램 작성시 고려 사항일반화 + 확장성 : 더 많은 경우에서 쉽게 동작하도록 함같은 기능이 여러번 나오지 않도록 함 : 같은 기능이 여러번 나오면 유지, 보수가 어려움 - 함수의 기본 형태return_type function_name (arguments){ Funciton body ----- ----- return return_variable}return type : 함수가 반환(출력)하는 변수의 자료형함수 선언시 return type 부분이 비어있다면 그 함수의 return ..
[오제이 튜브의 임베디드 실전 강의] 11강 데이터 시트 읽어주는 남자 - 11강 목표 : 데이터 시트를 읽으며 단어의 의미 등을 설명. 데이터시트 분석시 도움이 많이 될 것프로그래머와 회로 설계자가 데이터시트를 보는 관점은 다름회로 설계자는 전기적 특성들을 주로 고려프로그래머는 칩의 사용법을 고려데이터 시트에도 여러 종류가 있음. (ex) 소자 하나를 설명하는 / 모듈을 제어하는 데이터시트)우리는 ARM Core의 설계도를 토대로 칩을 직접 만든 회사인 STM의 제품군을 사용위는 STM32F103x8, STM32F103xB에 대한 데이터시트. 중복되는 내용이 많으면 위처럼 둘 이상을 하나로 묶어서 같이 설명- 데이터 시트 분석 시작Medium-density performance line ARMCPU(코어)의 성능을 크게 좌우하는 것중에 하나가 트랜지스터를 얼마나 많이 집약..
[오제이 튜브의 임베디드 실전 강의] 10강 데이터 시트 보는 꼼수 - 10강 목표 : 데이터 시트 보는 요령 공부 데이터 시트 : 어떤 부품에 대한 사용 설명부터 특징등을 나열한 것을 의미함 데이터 시트를 보는 요령은 논문이나 책을 잘 읽는 요령과 비슷하다 : 방법의 많이 보는 것 말고는 없다 한글로 된 데이터 시트는 거의 없으므로 영어를 잘 하면 유리함 전문 용어와 논리 영역의 내용들이 있어 단순히 영어를 잘 한다고만 해서는 잘 보기 힘듦. 사전 정보, 배경 지식 필요 목표하는 물건을 만들기 위해 시간을 단축하는 방법은 있다. 오늘은 이 방법을 공부 1) 목적을 세우자 : 내가 해야되는 정확한 목표를 세우고, 그 목표에 맞는 지식을 습득 ARM Core 데이터시트는 1500장으로, 다 읽기에는 무리가 있음. 그리고 그 중에는 내게 필요하지 않았던 정보들도 많음 우선 ..
[홍정모의 따라하며 배우는 C언어] 8.9 텍스트 파일 읽기 8.9 텍스트 파일 읽기 파일의 데이터를 읽어들이는 방법과 그 때 EOF의 활용법 #pragma warning (disable:4996) #include #include // exit() 사용을 위한 library main() { int c; FILE* file = NULL;// file이라는 포인터 변수를 선언 char file_name[] = "my_file.txt";// 파일의 format이 text 파일. file = fopen(file_name, "r");// 파일의 스트림을 염 if (file == NULL) {// 파일을 열지 못하였을 때 NULL이 들어감 printf("Failed to open file.\n"); exit(1);// 파일을 여는데 실패했다고 알림. 그리고 프로그램 자체를 ..
[홍정모의 따라하며 배우는 C언어] 8.8 메뉴 만들기 예제 8.8 메뉴 만들기 예제 메뉴가 나오는 프로그램 #pragma warning (disable:4996) #include main() { char input, buffer; int i, j; while (1) { printf("Enter the letter of your choice : \n"); printf("a. avengers\tb. beep\nc. count\tq. quit\n"); input = getchar(); buffer = getchar(); if (input == 'a') printf("Avengers assemble!\n"); else if (input == 'b') printf("\a"); else if (input == 'c') { printf("Enter an integer : \..
[홍정모의 따라하며 배우는 C언어] 8.7 입력 스트림과 숫자 8.7 입력 스트림과 숫자스트림 : 사용자가 입력한 내용이 우리가 만든 프로그램으로 흘러들어가는 과정 #include #pragma warning (disable:4996) main(){ char str[255]; int i, i2; double d; scanf("%s %d %lf", str, &i, &d); printf("%s %d %f\n", str, i, d); scanf("%s %d %d", str, &i, &i2); printf("%s %d %d\n", str, i, i2); char c; while ((c = getchar()) != '\n') putchar(c); printf("\n");} Output : (hello 123 3.14 입력)hello 123 3.140000..
[홍정모의 따라하며 배우는 C언어] 8.6 입력 확인하기 8.6 입력 확인하기 사용자가 입력한 데이터가 내가 필요로 하는 데이터인지, 즉 의도한대로 입력됐는지 확인하는 프로그램 #include #pragma warning (disable:4996) main() { printf("Please input an integer and press enter.\n"); long input;// 큰 정수를 받기 위해 long type 사용 char c; while (scanf("%ld", &input) != 1) {// long 숫자가 하나만 들어오면 while문으로 진입하지 않음 printf("Your input - "); while ((c = getchar()) != '\n') putchar(c);// input left in buffer : 입력을 제대로 받지 못했다..