728x90

2024/11 15

RC 오실레이터(Oscillator)란?

다양한 오실레이터 중 High Speed RC Oscillator는 저항(Resistor, R)과 커패시터(Capacitor, C)를 이용하여 고속 주파수를 발생시키는 특별한 오실레이터이다. 오실레이터란?전자 시스템에서 주파수를 생성하는 가장 기본적인 회로 또는 소자를 의미한다. 일반적으로 마이크로컨트롤러나 다른 디지털 시스템에서 클럭 신호를 제공하는 역할을 하며, 이 신호를 통해 시스템의 동작이 동기화된다. 기본 오실레이터에는 여러 종류가 있으며, 그중 RC 오실레이터, 크리스탈 오실레이터 등이 있다.  RC 오실레이터RC 오실레이터는 저항과 커패시터를 사용하여 고주파 신호를 생성하는 방식의 오실레이터이다. 주로 내부 오실레이터로 사용되며, 외부 크리스탈이 필요하지 않아 설계가 간단하고 비용 절감이 가..

전기•전자 2024.11.28

[C언어] qsort() 함수란?

`qsort()` 함수는 배열의 요소들을 정렬하기 위해 사용되는 범용적인 함수이다. 표준 라이브러리 ``에 정의되어 있으며, 다양한 데이터 타입을 정렬할 수 있는 장점이 있다. 이 함수는 퀵 정렬 알고리즘을 기반으로 구현되었다. 사용법void qsort(void *base, size_t num, size_t size, int (*compare)(const void *, const void *));매개변수`base` : 정렬할 배열의 시작 주소를 가리킨다. 이 매개변수는 배열의 첫 번째 요소를 가리키며, `void*` 타입으로 정의되어 있어 다양한 데이터 타입을 처리할 수 있다.`num` : 배열의 요소 개수를 나타낸다. 몇 개의 요소를 정렬할지 알려주는 역할을 한다.`size` : 각 요소의 크기를 바이..

C언어 2024.11.18

srand() 함수란?

srand() 함수는 C언어에서 난수 생성의 시드를 초기화하기 위해 사용되는 함수이다. 이 함수는 표준 라이브러리 에 정의되어 있으며, rand() 함수를 사용할 때 더 나은 난수 분포를 위해 종종 함께 사용된다. 사용법#include int main(void) { int seed = ??; // 시드 값 srand(seed);}  왜 사용할까?C언어에서 난수를 생성할 때는 rand() 함수를 사용한다. 하지만 rand() 함수는 동일한 시드 값에서 호출될 때 항상 동일한 수열을 반환하게 된다. 프로그램을 매번 실행할 때마다 다른 난수를 얻고 싶다면, 초기 시드 값이 달라야 한다. 여기서 srand() 함수가 필요한 것이다. srand() 를 통해 시드를 설정함으로써, 프로그램이 매번 다른 난수 수열을 ..

C언어 2024.11.15

BAM(Broadcast Announce Message)란?

BAM은 차량 내 여러 전자제어장치(ECU)들 사이에서 큰 데이터를 전송해야 할 때 사용되는 메시지이다. 이 메시지의 주요 특징은 브로드캐스트 방식으로 데이터를 보내기 때문에, 특정 수신자를 지정하지 않고 네트워크에 있는 모든 ECU가 해당 데이터를 수신할 수 있다는 점이다. 즉, 데이터가 네트워크 상에 공개적으로 전송되며, 필요한 ECU는 해당 데이터를 받아 활용할 수 있다. 이런 방식은 특히 PGN 60416으로 지정된 대량 데이터 전송에서 사용되며, 이 경우 데잍는 여러 개의 패킷으로 나뉘어 전송된다. 이를 통해 차량 내 다양한 시스템이 동시에 동일한 데이터를 효율적으로 받을 수 있게 된다. BAM의 주요 역할대용량 데이터 전송: J1939에서는 일반적으로 하나의 메시지로 전송할 수 있는 데이터가 ..

자동차-통신 2024.11.14

[C언어] OOP 공부 (2)

1편에서는 OOP에 대해서 설명했고 이번 2편에서는 C에서의 OOP에 대해서 설명하겠다. C는 절차 지향 언어로 설계되었기 때문에, 객체 지향 프로그래밍(OOP) 기능을 기본적으로 제공하지 않는다. 하지만 구조체와 함수 포인터를 활용하여 객체 지향 개념을 모방할 수 있다. C에서 OOP 스타일로 코드를 작성하려면, 클래스, 상속, 캡슐화 등의 주요 개념을 수작업으로 구현해야 한다. C에서의 OOP 구현 방법1. 클래스의 구현2. 상속의 구현3. 다형성의 구현4. 캡슐화   클래스의 구현C에서 클래스는 구조체를 통해 구현할 수 있다. 구조체는 데이터를 저장할 수 있는 멤버들을 포함하므로, 객체의 속성을 표현하는 데 사용할 수 있다.또한, 함수 포인터를 구조체에 포함해 객체의 동작을 정의할 수도 있다.typ..

C언어 2024.11.13

티스토리 기본모드 수식 삽입

1. 수식을 이미지로 변환하여 삽입하기가장 간단하면서 보편적인 방법은 수식을 이미지로 변환해서 삽입하는 것이다. 이 방법을 사용하면 HTML이나 스크립트를 사용하지 않고도 깔끔하게 수식을 표현할 수 있다. 2. 외부 이미지 URL 사용하기Codecogs와 같은 수식 생성 도구는 수식을 URL 형태로 제공하기 때문에, 이를 티스토리에 삽입하는 방법도 있다. 이미지 URL을 사용하여 수식을 직접 삽입할 수 있다. 3. MathJax 스크립트를 사용하여 수식 렌더링하기티스토리 블로그의 기본 모드에서는 JavaScript와 같은 스크립트를 추가하는 것이 제한적이지만, HTML 편집 모드를 사용하면 MathJax 스크립트를 통해 수식을 렌더링할 수 있습니다.그리고 수식을 작성할 때는 $...$(인라인 수식) 또는..

C언어 2024.11.13

[C언어] OOP 공부 (1)

OOP(Object-Oriented Programming, 객체 지향 프로그래밍)은 프로그램을 여러 객체로 구성하여 개발하는 프로그래밍 패러다임이다. 각 객체는 데이터(속성, 변수)와 동작(메서드, 함수)을 포함하고 있어, 현실 세계의 개체를 모델링하고 이해하기 쉽게 만들어준다. OOP의 주요 개념객체(Object): 프로그램 내에서 실제로 동작하는 데이터와 기능의 단위이다. 예를 들어, 자동차 프로그램에서는 Car라는 객체를 만들고, 이 객체가 속도, 연료량과 같은 속성과 주행, 정지와 같은 동작을 포함할 수 있다.클래스(Class): 객체를 정의하는 청사진(템플릿)이다. 객체를 생성하기 위한 구조로, 속성과 메서드를 정의한다. 예를 들어, Car 클래스는 모든 자동차 객체가 따라야 할 속성과 메서드를..

C언어 2024.11.12

코드로 보는 수학 : 선형 보간법

선형 보간법이란?선형 보간법(linear interpolation)은 두 개의 알려진 값 사이에 위치한 어떤 지점의 값을 예측하는 방법이다. 간단히 말해, 두 점을 직선으로 연결하고 그 직선 위의 특정 위치에서 값을 찾는 것이다. 이 방법은 두 점 사이의 관계가 선형적일 때 매우 유용하다.선형이란 무엇인가?'선형'이라는 용어는 일직선 형태로 변화하는 관계를 의미한다. 즉, 두 변수 사이에 일정한 비율로 변화가 일어나면 선형적이라고 할 수 있다. 예를 들어, 온도가 시간에 따라 꾸준히 증가하거나 감소하는 경우, 그 관계를 선형적이라 할 수 있다. 선형 관계에서는 그래프가 직선의 형태를 가지며, 모든 점들이 직선 위에 위치한다.선형 보간법에서 사용하는 선형 관계는 이러한 두 점 사이에 존재하는 직선적인 변화..

Keil μVision5

Keil μVision5는 Arm Keil에서 제공하는 통합 개발 환경(IDE)으로, 임베디드 소프트웨어 개발을 위해 설계되었습니다. 주로 ARM Cortex-M 계열의 마이크로컨트롤러 프로그래밍에 사용되며, 다양한 마이크로컨트롤러에 대해 코드 작성, 컴파일, 디버깅 등을 모든 개발 과정을 통합된 환경에서 처리할 수 있게 한다. Keil μVision5는 Keil MDK(Microcontroller Development Kit)의 일부분으로, 특히 STM32, NXP, Freescale 등 여러 제조사의 마이크로컨트롤러를 지원한다.  주요 기능1. 코드 에디터 : 코드 자동 완성과 구문 강조 기능을 갖추고 있다.2. 디버깅 도구 : ULINK 디버거와 같은 하드웨어 디버깅 도구와 연동 가능하며, RTOS..

CS 2024.11.08

[C언어] strcmp() 함수

strcmp() 함수는 C 프로그래밍 언어에서 문자열을 비교하는 함수이다.이 함수는 표준 라이브러리 에 정의되어 있다. #include int strcmp(const char *str1, const char *str2);매개변수str1, str2 : 비교할 문자열이다. 기능두 문자열 str1과 str2를 인자로 받아, 사전적으로 문자열을 비교한다. 두 문자열이 동일한지, 혹은 어느 쪽이 더 큰지(ASCII 코드 값에 따른 순서)를 판단한다. 반환값0 반환 : 두 문자열이 같을 때 반환된다.음수 반환 : str1이 str2보다 사전적으로 앞설 때 반환된다.양수 반환 : str1이 str2보다 사전적으로 뒤에 있을 때 반환된다.여기서 사전적으로는 ASCII 코드 값에 따라 정렬된 순서를 비교한다는 뜻입니다...

C언어 2024.11.07
728x90