📌 Cortex-M4 계열인 STM32F407VET6 CPU 칩이 내장되어있는 개발 보드 동작 시험을 위하여 Keil uVision5 환경설정을 하는 과정이다. Keil uVision5 설치후 Pack Installer 에서 STM32F407VETx Device 를 찾아 해당칩에 관련된 Pack을 다운받는다. Pack 다운로드 후 Project > New uVision Project... 를 실행하여 새로운 Project를 생성한다. Project 생성 후 Mange Run 에서 CMSIS > CORE, Device > Startup 을 선택한다. 생성된 프로젝트에서 Source Group 1 > Add New Item to Group... 을 선택하여 새로운 main.c 파일을 생성한다. 생성된 코드의..
C언어 Chapter 9. switch 문을 if-else 문으로 대체하는 방법 switch 문은 범위를 지정할수없고 일정한 숫자를 입력받아 결과를 선택한다. 10번째줄의 score = score / 10; 소스코드가 이 프로그램의 알고리즘이다. score에 들어갈 값을 10을 나누어 줌으로써 코드의 양을 줄였다. 🔔 예) switch 문으로 만든 학점계산 프로그램 switch 문과 달리 if – else 문은 범위를 지정할수있다. 결과는 위소스 와 동일하다. 🔔 예) 위 switch 문 과 같은 소스를 if – else 문으로 대체한 소스코드 💡 Tip ? switch 문과 if-else 문은 상황에 따라 선택하여 사용한다. 어떤 함수를 사용함에 따라 상황에따라 프로그램이 느려질수도 빨라질 수 도 있다..
C언어 Chapter 8. 목차 switch() 문 📌 switch 문은 괄호속의 정수식의 값과 case 다음의 정수 값을 차례로 비교하여 일치할 경우 해당 case 문과 그다음 모든 case 문들이 실행된다. 그러므로 각 case 문은 break 문으로 실행을 중단시킨다. switch 문 뒤의 괄호 속에 정수값을 가지는 변수또는 수식이 올수있다. int형이나 char 형이 올수있지만, 실수형은 올 수 없다. switch 문의 실행부는 중괄호에 둘러싸인다. 각 case 문은 case로 시작하여 정수값을 가지는 상수와 클론 (:위치정보 = 라벨)이 오고 그 뒤에 명령문들이온다. (아래로 내려 들여쓸것) 각 case 문의 클론 다음에 오는 명령문이 복합문일 경우에도 중괄호로 둘러싸지 않는다. case 문의 ..
C언어 Chapter 7. 제어문 선택문 - if if 문은 선택문의 형태로 주어진 조건이 만족할경우 실행된다. if (논리식) 명령문 🔔 예) if 문을 사용하여 키보드로 입력받은 두수 중 큰 수를 화면에 출력하는 프로그램. #include int main() { int num1, num2, bigger; printf("Please enter two integers: "); scanf("%d %d", &num1, &num2); bigger =num1; if (num1 < num2) // if()
C언어 Chapter 6. 캐스트(cast) 연산자 산술연산에서 int +float 는 컴파일이 자동적으로 int 형을 float 형으로 변환시켜 수행한다. (묵시적 캐스팅) a = (float)int + float 에서 괄호안에 float를 넣어 int 를 float로 변환시켜 연산을 수행할수도 있다. (명시적 캐스팅) 💡 cast 연산자는 ()보다 우선순위가 낮다 c = a(char) + b(int) 일때 char를 int로 바꾸어 연산한다. (상향 캐스팅) A(char) = B(int) 일때 int 가 char 로 변환된다. (하향 캐스팅) 🔔 예) 명시적 형변환이 필요한 산술식의 계산 프로그램 #include int main() { int intA = 14, intB = 3; float float..
C언어 Chapter 5. escape sequence 🔔 예) 개행문자의 사용법 #include int main() { printf("10진수 65: %c\n", 65); // A 문자 printf("16진수 40: \x40\n"); // @ 문자 printf("8진수 73: \073\n"); // 세미클론 printf("백슬래쉬 \\, 작은 따옴표 \', 큰따옴표 \" \n"); printf("2 bell sound \a\a\n"); return 0; } 결과 : 문자열 문자열은 하나 이상의 연속된 문자를 말한다. 문자열은 ( " ??? ??? " ) 큰따옴표로 표시한다. "This is a string." 한셀당 1byte 에 해당하며 한문자를 저장한다. 맨 마지막 셀은 \0 문자(NULL 문자: ..
C언어 Chapter 4. 실수형 상수 자료형 바이트 크기 범위 유효 숫자 float 4 3.4*10(-38승)~3.4*10(38승) 7자리 doulbe 8 1.7*10(-308승)~1.7*10(308승) 15자리 long double 8~10 3.4*10(-4932승)~1.1*1.1*10(4932승) 19자리 🔔 예) // 실수를 화면에 출력하는 프로그램 #include int main() { float fNumber; fNumber = 45000.67; printf("%f \n", fNumber); // 45000.67 이후의 숫자는 5로 끝나지않아 오류값 출력 printf("%9.4f \n", fNumber); // 9.4에서9는 전체자릿수 4는 소수점자릿수를 나타냄 // 컴퓨터의 계산은 반올림된다..
C언어 Chapter 3. 파생 자료형 기본자료형에 형수정자(type modifier)를 사용하여 파생자료형을 만들 수 있다. 파생형 Type/용량 내용 singned (+, -)가 존재하고 unsigned를 사용하지 않을땐 생략된다. unsinged int char 앞에 사용할경우 -128~0~127을 0~255로 바꿈. signed long int 4byte~8byte 데이터범위 -2147483648~2147483647 singned short int 2byte 데이터범위 -32768~32767 💡 long, short는 앞뒤로 singned, int가 생략된다. 정수형(integer type) 📌 Int형 DOS 나 Windows 3.1 같은 16비트 운영체제 환경에서는 2byte에 저장된다. (데..