[STM32] 2. STM32 LINK 업데이트
·
🧊 STM32
ATMega는 이제는 놓아주고 STM32로 넘어가는 첫 단계이다. STM32는 STMicroelectronics에서 제작한 마이크로컨트롤러 제품군으로, 주로 32비트 ARM Cortex-M 프로세서를 기반으로 한다. 이 칩들은 고성능, 저전력 소비, 그리고 비용 효율성을 제공하며, 다양한 산업 응용 분야에서 폭넓게 사용된다. STM 칩에 내가 설계한 헥사 파일을 넣을려면 이 STM32 Link가 필요하다. 1. ST-LINK/V2/01-0제품군은 ST-LINK/V2/01-0이다.COM 쪽에 LED가 불이 들어오는 것을 확인할 수 있다. STM32 뿐만 아니라 STM8(bit)도 가능하다.우선, STM32 LINK를 사면 필수적으로 펌웨어 업그레이드를 진행해야 한다.2. STM32 LINK 업그레이드 & ..
[C/C++ Tip] 4. 구조체 활용: 효율적인 데이터 관리
·
🔷 C언어 30강
C언어의 구조체(struct)는 서로 다른 자료형을 하나로 묶어 새로운 형태의 복합 데이터 타입을 정의할 수 있게 해준다. 이는 데이터를 효율적으로 관리하고, 코드의 가독성과 유지 보수성을 향상시킬 수 있는 강력한 도구이다. 이번 포스팅에서는 구조체를 통해 더 깔끔하고 효율적인 코드를 작성하는 몇 가지 팁과 예제를 제공한다.전통적인 프로그래밍 언어에서는 변수를 사용하여 데이터를 저장했다. 그러나 변수만으로는 서로 관련된 여러 데이터 항목을 효율적으로 관리하기 어려웠다. 예를 들어, 학생의 정보(이름, 나이, 성적 등)를 처리하려면 각 항목을 별도의 변수로 관리해야 했고, 이러한 변수들 사이의 논리적 연관성을 코드상에서 명확히 표현하기 어려웠다. 구조체는 이러한 문제를 해결하기 위해 도입되었다. 구조체를 ..
[C/C++ Tip] 3. 코딩 규칙. 변수명 정하기
·
🔷 C언어 30강
C/C++ Tip 관련 세번 째 글이다. 뭘 작성할까 고민 하다가 코딩만큼 중요한 변수명 정하는 것으로 결정했다.변수명 정하기가 중요한 이유는 가독성 때문이다. 가독성이 높은 코드는 내가 아닌 남에게 보여주기 위함이다. 여기서 남이란 후배, 상사 뿐만 아니라 한달 뒤의 '나'도 남에 포함된다. 코드를 봤을 때 결과가 독서하는 것처럼 바로 유추가 되어야 한다.변수명 규칙은 네 개를 꼭 기억하면 된다. 함수의 input parameter(입력 인자, 입력 파라미터)는 i_{변수명} 함수의 output parameter(출력 인자, 출력 파라미터)는 o_{변수명} 함수의 local 변수(로컬, 지역 변수)는 l_{변수명} static 변수(정적 변수) 혹은 전역변수는 {변수명} 하나의 예시를 보겠다.#incl..
[STM32] 1. Cube IDE 시작하기.
·
🧊 STM32
STM32 CUBE IDE로 STM32 마이크로컨트롤러 개발을 시작하는 것은 여러 면에서 유리한다.통합 개발 환경 (IDE): STM32CubeIDE는 코드 편집, 컴파일, 플래싱, 디버깅을 모두 한 곳에서 처리할 수 있는 통합 개발 환경을 제공한다. 이는 개발 과정을 간소화하고 프로젝트 관리를 더 효율적으로 만들어 준다.코드 생성 도구: STM32CubeMX는 초기 프로젝트 설정을 자동화하는 코드 생성 도구로, 핀 설정, 클럭 구성, 미들웨어 선택 등을 시각적 인터페이스를 통해 쉽게 설정할 수 있다. 이 도구는 개발 시간을 단축시키고, 초기 설정 오류를 줄여준다.풍부한 라이브러리 및 예제: STM32CubeIDE는 STM32Cube 라이브러리를 사용하여 HAL(Hardware Abstraction La..
[C/C++ Tip] 2. #define의 목적
·
🔷 C언어 30강
#define은 왜 사용하는 걸까? 단순히 상수 처리하기 위해 define을 사용하는 것일까? 이를 알기 위해선 소스 코드의 변환 과정을 알 필요가 있다. ​ Build의 순서는 아래와 같다. exe 파일 생성 : 소스코드 -> 전처리 -> 컴파일 -> 링크 -> 실행 mcu 헥사 파일 생성 : 소스코드 -> 전처리 -> 컴파일 -> 어셈블리어 변환 -> 헥사 파일 생성 -> MCU 다운로드 ​ C언어를 처음 공부할 때, #define을 사용하지 않으면 전처리 과정을 거치지 않는다고 생각한 적이 있다. #으로 시작하는 문장은 전부 전처리기 지시자임에도 #include는 전처리기라고 생각하지 않았다. 항상 C언어를 실습할 때, 의무적으로 #inlcude 를 작성한 폐해이다. ​ 전처리란 무엇인가? 컴파일 ..
[C/C++ Tip] 1. 개발하기 전, typedef 별명 부여.
·
🔷 C언어 30강
#define은 왜 사용하는 걸까?단순히 상수 처리하기 위해 define을 사용하는 것일까? 이를 알기 위해선 소스 코드의 변환 과정을 알 필요가 있다. ​ ⭐1. Build 순서Build의 순서는 아래와 같다. exe 파일 생성 : 소스코드 -> 전처리 -> 컴파일 -> 링크 -> 실행 mcu 헥사 파일 생성 : 소스코드 -> 전처리 -> 컴파일 -> 어셈블리어 변환 -> 헥사 파일 생성 -> MCU 다운로드 ​ C언어를 처음 공부할 때, #define을 사용하지 않으면 전처리 과정을 거치지 않는다고 생각한 적이 있다. #으로 시작하는 문장은 전부 전처리기 지시자임에도 #include는 전처리기라고 생각하지 않았다. 항상 C언어를 실습할 때, 의무적으로 #inlcude 를 작성한 폐해이다. ​⭐2. 전..
[한글] 학위 논문 작성을 위한 팁
·
일상
1. 표현은 최대한 통일 할 것. 2. 그림의 폰트 사이즈와 본문의 글씨 사이즈가 같을 것. 3. 되도록이면 그림은 직접 다시 그릴 것. 4. 수학 식 표현 주의할 것. - 행렬이나 벡터와 같이 혼동하기 쉬운 표현들을 잘 구별할 것. 5. 그림 한글 파일에 추가할 때. 보통은 그림을 그릴 때, PPT나 VISIO를 통해서 그림을 그린다. JPG, PNG로 그림으로 첨부하게 되면 확대 했을 때 그림이 깨진다. 그러므로 벡터 형식으로 저장되는 emf 파일로 저장할 것. emf 파일로 한글 파일에 던지면, 확대하더라도 그림은 깨지지 않는다. 안 깨지는 것을 확인. 6. 최대한 일반적인 표현을 쓸 것. 7. 참고 문헌은 최대한 최신 날짜의 것을 사용할 것. 8. 실험 결과 및 성능 평가에 대한 분석은 최대한 정..
한글... 학위 논문에 참고 문헌 넣을 때, 참고할 것. 양쪽정렬
·
일상
회사 다니면서 쉴 날없이 논문 작업 중. 까먹을 것 같아서 메모로 남겨 둠. 우리 학교 논문은 IEEE 형식을 따라가므로 아래 참고 문헌 표기 가이드를 참고할 것. https://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/IEEE_Reference_Guide.pdf 논문에 online 레퍼런스를 추가할 때, 아래 예시처럼 URL 때문에 양쪽 정렬이 굉장히 안이쁘게 나오는 경우가 많음. 이럴 땐, 해당 레퍼런스 블록 처리 하고나서 [편집] - [문단 모양] 클릭 함. 줄 나눔 기준에서 영어 단위를 단어에서 글자로 변경한다. 끝.
[C언어] 포인터의 이해
·
C, C++
보통 C언어에서 가장 어려워하는 부분은 포인터이다. 이 포스팅은 어떻게 하면 포인터를 더 쉽게 이해할 수 있을까 에 대한 경험과 고민이 섞여 있다. 회사 후배가 프로젝트 소스 코드를 보고 덕지덕지 추가되어 있는 포인터 인자들을 보고 지레 겁을 먹고 포인터에 대한 질문을 종종 한다. 요즘엔 대학교에서는 학생들이 C언어를 그리 선호하지 않는 것 같다. 아무래도 Low Level 언어인 C는 개발자들에게 불친절하고 포인터라는 큰 벽이 있고, 특히 Computer Science(CS) 분야가 각광받으면서 파이썬 위주로 프로젝트를 진행하기 때문 아닐까 추측해본다. (Low Level 언어 : 컴퓨터 중심 언어, 속도가 생명. High Level 언어 : 사람 중심 언어, 개발은 Low Level 보다 간단하나 속..
2byte 정수를 1byte 배열로 나누기 (Feat. EEPROM)
·
C, C++
MCU는 전원이 꺼지고 켜진 경우 (POR : Power on Reset) 처리된 데이터(static 변수, 지역 변수, 매개 변수) 들은 메모리 상에서 남아있지 않고 사라진다. 그래서 MCU가 꺼지고 다시 켜졌을 경우, 데이터를 저장해야 할 때가 있다. 아두이노는 이 역할을 하는 내장 메모리가 있으며, 이를 EEPROM이라고 한다. (하드 디스크처럼 기간과 횟수가 그리 많지 않음.) (초기 ROM(Read Only Memory)로 오로지 공장에서 출하 과정에서 메모리에 write가 되면, 그 이 후부턴 read 밖에 할 수 없었음. read 만 할 수 있는 문제를 해결하기 위해 자외선을 통해 몇 번의 write를 할 수 있는 EPROM이 개발됨. 조금 더 시간이 흘러 자외선이 아닌 전기로 write가 ..
18진수
'분류 전체보기' 카테고리의 글 목록 (6 Page)