본문 바로가기

분류 전체보기

(225)
[홍정모의 따라하며 배우는 C언어] 7.7 논리 연산자 Logical operators 7.7 논리 연산자 Logical operators C언어의 logical operators && : and || : or ! : not #define _CRT_SECURE_NO_WARNINGS #include #include // bool 자료형 사용 #include int main() { bool test1 = 3 > 2 || 5 > 6;// true. or은 둘 중 하나만 참이여도 참 bool test2 = 3 > 2 && 5 > 6;// false. and는 둘 모두가 참일때만 참 bool test3 = !(5 > 6);// true. equivalent to 5 2 or 5 > 6; bool test5 = 3 > 2 and 5 > 6; bool test6 = not(5 > 6); printf("..
[오제이 튜브의 임베디드 실전 강의] 5강 혼자서 임베디드 고수 되는 법 1. 강의 목표WritePin부분을 HAL Driver를 사용하지 않고 순수 코딩만으로 만들어보기 HAL Driver의 코드를 분석하고 Datasheet를 보며 필요한 것들만 뽑아 코드를 만들 것MX_GPIO_Init();HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 0);위 두개의 코드 분석Data Sheet를 보며 해당하는 주소값을 보며 코딩을 해야 함Embedded Programming은 Source Code는 몇 줄 안되나 이해하고 코드로 표현을 하기까지 수많은 공부가 필요회로, 컴퓨터 등의 알아야 할 배경 지식이 너무 많음코드를 분석하기 쉬운 방법소스가 어떤 환경에서 작동하는지 이해 후 환경 구성Breakpoint를 찍어가며 Debugging 진행 ..
[오제이 튜브의 임베디드 실전 강의] 3-1강 개발 환경 구축하기, 4강 Hello!! GPIO!! 1. 개발 환경 구축1.1. 개발 환경 구축이란- 개발을 할 수 있는 환경을 구축하는 준비과정보통 컴파일 + "Hello World"가 출력되는 상황 + 디버깅이 되는 상황을 환경구축이 완료되었다고 한다임베디드 분야는 환경 구축이 유난히 어려움임베디드 계열의 "Hello World" 는 GPIO 제어 : 이번 강의의 목적  1.2. IDE란- IDE (Integrated Development Environment) : 통합 개발 환경을 의미Coding, Debugging, Compile, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있는 환경을 제공하는 SoftwareEx) Visual Studio, JupyterIDE = Source code editor + Compi..
[홍정모의 따라하며 배우는 C언어] 7.5 else와 if 짝짓기 ~ 7.6 소수 판단 예제 7.5 else와 if 짝짓기 #define _CRT_SECURE_NO_WARNINGS #include int main() { int number; scanf("%d", &number); if (number == 1) printf("One\n"); else if (number == 2) printf("Two\n"); else if (number == 3) printf("Three\n"); if (number > 5) { if (number < 10) printf("Larger than 5 smaller than 10\n"); else printf("Larger than 10\n"); } else printf("Less than or equal to 5\n"); return 0; } Output : (3 ..
[홍정모의 따라하며 배우는 C언어] 7.3 ctype.h 문자 함수들 ~ 7.4 다중 선택 else if 7.3 ctype.h 문자 함수들 #define _CRT_SECURE_NO_WARNINGS #include #include main() { char ch; while ((ch = getchar()) != '\n') { if (islower(ch))// 소문자인가 ch = toupper(ch);// 소문자 -> 대문자 else if (isupper(ch))// 대문자인가 ch = tolower(ch);// 대문자 -> 소문자 else if (isdigit(ch) != 0)// 숫자인가 ch = '*'; putchar(ch); } putchar(ch);// ch에 남아있는 '\n' 출력 return 0; } Output: (1234abcdABCD 입력) ****ABCDabcd Control character..
[오제이 튜브의 임베디드 실전 강의] 3강 전기 기본 상식 - 모르면 보드 태워먹는다 0. Embedded Software 개발에 전기 기본 상식을 알아야 하는 이유1) DC 뿐만 아니라 매우 위험함 고압의 AC 전류가 흐르는 환경에서 작업을 할 수 있음DC (Direct Current) : 직류라는 뜻으로, (+)극, (-)극이 정해져 있으며 전류의 방향이 바뀌지 않는 전원저압이라 크게 위험하지 않음배터리에서 사용AC (Alternating Currnet) : 교류라는 뜻으로, 시간에 따라 크기와 극성(방향)이 주기적으로 변하는 전류1초 사이에 전류의 극성이 변하는 횟수를 Frequency(주파수) [Hz]라고 한다.가정에서 사용AC 값은 최고점과 최저점 간의 차이 값을 의미고압이라 잘못하면 사망으로 이어질 수도 있음 또한 전류의 방향이 계속 바뀌므로 몸이 전기가 흐르는 물체에 달라 붙..
[오제이 튜브의 임베디드 실전 강의] 2강 실무자는 어떻게 칩을 고르나요? 0. 큰 그림을 반드시 그려야 하는 이유큰 그림 : 나만의 개념을 잡고 그 개념들이 조각조각 분산되어 있는 것이 아니라 서로 연결되어 있는 것을 의미큰 그림을 그릴 줄 알면 다양한 문제점을 만나더라도 쉽게 해결을 할 수 있음Ex 1) NPM, PIP, Apt-get, 마켓 플레이스모두 어떤 프로그램을 저장소에서 다운받을 수 있는 기능 -> 이 개념을 잡고 있으면 다양한 것을 해결할 수 있음저장소와 관련된 문제 파악 및 해결 가능무엇을 배우던 간에 큰 그림을 그려야 함  위와 같은 큰 그림을 머리 속에 하나씩 그려가야 함문제를 만날 때 마다 해결하기가 쉬워짐 - Ex 2) Visual Studio Code와 Visual Studio의 차이점둘 모두 개발 Tool개발 Tool : 메모장 + Compiler ..
[홍정모의 따라하며 배우는 C언어] 7.1 분기문 if ~ 7.2 표준 입출력 함수들 getchar(), putchar() 예제 7.1 분기문 if if (expression) statement;// expression이 true이면 statement 실행. false이면 넘어감 #define _CRT_SECURE_NO_WARNINGS #include main() { int number; printf("Input a positive integer : "); scanf("%d", &number); if (number % 2 == 0) printf("Even\n"); else printf("Ood\n"); return 0; } Output : (2 입력) Even (3 입력) Ood 7.2 표준 입출력 함수들 getchar(), putchar() 예제 #define _CRT_SECURE_NO_WARNINGS #include// get..