본문 바로가기

전체 글361

C++ # - 클래스를 위한 C++에서의 구조체 구조체 등장 배경 C에서 배운 구조체는 연관있는 데이터를 묶어 관리하기 편리하게 만드는 문법적 장치였다. 예를 들어 학생에 대한 정보를 관리할 때 하나의 구조체 변수에 키, 나이, 성별, 이름 등등을 관리할 수 있다. C에서 모두 배웠기 때문에 자세한 설명은 넘어가도록 한다. 구조체 안에 함수 삽입하기 C++과 C언어 구조체의 차이점 중 하나는 C++에서는 구조체 안에 함수를 넣을 수 있다. #include using namespace std; struct person{ void test() { cout 2023. 5. 10.
인피니언 TC3xx EVADC 개념 정리 - 2편 (Arbitration, Result Handling, Service Request Generation) 지난 시간에 이어 EVADC에 대해 알아본다. 오늘 적을 내용은 중재(Arbitration)과 결과 처리(Result handling)이다. Service Request Generation 내용을 추가하였다. 중재(Arbitration) 컨버터는 변환 요구 하나씩 처리할 수 있다. 따라서 변환 요구는 한번에 하나씩 들어올 필요가 있다. 그리고 여러 queue에 저장된 요구 중 어느 것을 먼저 처리할 것인지는 중재자(Arbiter)가 결정하게 된다. 변환 요청은 다음과 같다. - Input 0: Queue 변환 요청(Queued request source) Q0 - Input 1: Queue 변환 요청(Queued request source) Q1 - Input 2: Queue 변환 요청(Queued re.. 2023. 5. 9.
인피니언 TC3xx EVADC 개념 정리 - 1편 (EVADC 개요, 트리거, Queue) 아래 글은 인피니언의 ADC 변환법 중 EVADC를 다룬다. 내용은 TC3xx User Manual을 기반으로 한다. 중요한 부분과 흐름을 파악할 수 있는 부분 위주로 정리하고자 한다. 개인적인 이해 방식이 담겨있다. EVADC란? 인피니언 사에서는 EVADC(Enhanced Versatile Analog-to-Digital Converter)로 정의하는 기능이 있다. SAR (Successive Approximation Register) 원리를 통해 아날로그 값(전압)을 디지털 값으로 바꿔주는 기능이다. ADC에서는 각각 컨버터라고 하는 변환 장치가 있는데, 이는 '독립적'으로 동작하며 값을 변환한다. 컨버터 내에는 각각의 채널이 있다. 예를 들어 각 채널에는 온도 센서, 압력 센서 등이 각각 연결되어.. 2023. 5. 5.
[C/C++] #include <헤더>과 "헤더"의 꺽쇠, 쌍따옴표차이 #include #include 는 시스템 표준 경로(컴파일러와 함께 제공되는 헤더) 또는 사용자가 정의한 경로를 탐색한다. 예를 들어 유저가 test.h라는 헤더를 만들고, 임의의 헤더파일을 임의의 경로에 만든 후에 #include 만을 수행하고자 한다면 오류가 발생한다. 주로 시스템 헤더 파일(표준 라이브러리 등등)를 include하는데 사용되며 사용자가 경로를 정의하여 사용하고 싶다면 컴파일러 옵션을 사용하여 정의할 수 있다. 맞는 예시 2개를 보자. 표준 경로 #include => iostream.h는 common 헤더이고 표준 경로에 있음. 틀린 예시는 다음과 같다. #include => [Error] test.h: No such file or directoy 발생, 헤더를 찾지 못함. #inc.. 2023. 5. 3.