본문 바로가기
반응형

코딩취미120

[ARM]Cortex-M3 Peripherals map : SysTick Timer 설정 방법 Cortex-M3 Peripherals map : SysTick Timer 설정 방법ARM Cortex-M3 마이크로컨트롤러에 내장된 SysTick 타이머는 시스템 레벨 타이머로, 주로 운영체제의 타이머 서비스나 단순한 지연(loop) 구현에 사용됩니다. 이 타이머는 프로그래밍이 간단하고 효율적인 인터럽트 기반 타이밍 기능을 제공합니다.1. SysTick 타이머의 특징24비트 다운 카운터: 24비트 리셋 가능한 다운 카운터로 구성되어 있습니다.선택 가능한 클럭 소스: 프로세서 클럭 또는 외부 클럭 소스 중에서 선택할 수 있습니다.자동 리로드: 0에 도달하면 자동으로 재설정되어 반복 카운트를 수행합니다.인터럽트 기능: 0에 도달할 때마다 인터럽트를 발생시킵니다.간단한 구성: 운영 체제의 타이머 서비스 구현.. 2024. 1. 6.
프로그래밍 코딩에 적합한 폰트 추천 : C++,C#,python 프로그래밍 코딩에 적합한 폰트 추천 : C++,C#,python프로그래밍 언어에 적합한 폰트를 선택할 때 고려해야 할 요소들이 있습니다. 이러한 요소에는 가독성, 고정 너비(모노스페이스), 구별이 용이한 문자 디자인 등이 포함됩니다. 다음은 몇 가지 인기 있는 프로그래밍 언어와 그에 적합한 폰트, 그리고 이를 실제 코드에 적용한 예시입니다. 코딩 폰트에서 고려할 요소들가독성 (Readability)프로그래밍은 종종 긴 시간 동안 코드를 읽고 분석하는 작업을 포함합니다. 따라서 폰트는 눈의 피로를 최소화하고 오랜 시간 동안 읽기 편안해야 합니다.예를 들어, Consolas는 명확하고 깨끗한 선으로 인해 C++ 같은 저수준 언어에서 복잡한 코드를 쉽게 구별하고 읽을 수 있게 해줍니다.고정 너비 (Fixed-.. 2024. 1. 5.
토큰 결합 연산자(##)의 정의와 종류 : 토큰연결, 문자열화, 매크로 토큰 결합 연산자의 정의와 종류토큰 결합 연산자(##)는 전처리기에서 사용되며, 두 개의 토큰을 하나로 결합하는 역할을 합니다. 이 연산자는 매크로 정의에서 주로 사용되며, 매크로를 더 유연하게 사용할 수 있도록 합니다. 그리고 코드의 재사용성과 가독성을 향상시킵니다. 토큰 결합 연산자의 정의:토큰 결합 연산자는 다음과 같이 정의됩니다. 정의에서 ##는 두 개의 토큰을 결합하는 연산자입니다. #define CONCATENATE(x, y) x##y 토큰 결합 연산자의 종류:Simple Token Concatenation (단순 토큰 연결):가장 기본적인 형태의 토큰 결합입니다. 두 개의 토큰을 그대로 이어붙입니다.#define CONCAT(x, y) x##yint main() { int xy = 42.. 2024. 1. 5.
C#과 C++의 주요 차이점 5가지 비교 정리 C#과 C++의 주요 차이점 비교 정리C#과 C++은 모두 널리 사용되는 프로그래밍 언어지만, 주요 차이점이 있습니다. 이 차이점을 분석하고 이해하는 것은 각 언어의 장단점을 이해하는 데 중요합니다. 1. 개발 환경 및 용도C++은 저수준 프로그래밍에 더 적합한 언어로, 시스템 프로그래밍, 게임 개발, 임베디드 시스템 등에 널리 사용됩니다.C#은 마이크로소프트의 .NET 프레임워크에 최적화되어 있으며, 주로 윈도우 기반의 애플리케이션, 웹 서비스, 데스크톱 애플리케이션 개발에 사용됩니다. 2. 메모리 관리C++에서는 개발자가 직접 메모리를 할당하고 해제해야 합니다.int* myArray = new int[10]; // 메모리 할당// 배열 사용...delete[] myArray; /.. 2024. 1. 4.
[c,c++] #ifndef 과 #if !define()의 차이점 #ifndef 과 #if !define()의 차이점#ifndef과 #if !defined()은 모두 전처리기 지시어로, 매크로의 정의 여부를 확인하는 데 사용됩니다. 그러나 두 지시어의 사용 방법에는 약간의 차이가 있습니다.#ifndef의 특징:읽기 쉽고 간결: #ifndef은 "만약 정의되어 있지 않다면"이라는 의미로 자연스러운 문법을 가지고 있습니다. 코드가 더 읽기 쉽고 간결할 수 있습니다.전통적인 사용: #ifndef은 전통적으로 많은 코드베이스에서 사용되어 왔기 때문에 익숙한 문법입니다.#ifndef 예제:#ifndef DEBUG_MODE#define DEBUG_MODE#endif#ifdef DEBUG_MODE// 디버그 모드에서 수행되는 코드#endif #if !defined()의 특징:더 유.. 2024. 1. 4.
[c,c++] 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산전처리기 토큰 결합 연산자 활용 : 예) 비트마스크 생성 토클 결합 연산자를 사용하면 매크로의 유연성을 향상시키고, 다양한 설정에서의 코드 재사용성을 높일 수 있습니다. 이는 특히 큰 프로젝트에서 설정 및 조건에 따라 동적으로 코드를 생성해야 할 때 유용합니다. #define BIT_NAME_MSK(PeriName,RegName,BitName) (PeriName##RegName##BitName##Msk) BIT_NAME_MSK(A, B, C)를 호출하면 매크로는 다음과 같이 동작합니다:PeriName은 A로 대체됩니다.RegName은 B로 대체됩니다.BitName은 C로 대체됩니다.따라서 위의 매크로 정의에 따라 BIT_NAME_MSK(A, B, C).. 2024. 1. 3.
반응형