본문 바로가기

전체 글110

스텝 모터 실습(stepper moter) - GPIO 핀 제어 이번 포스트에서 지난 포스트에서 원리를 다루었던 스텝모터 실습 진행하고 해당 내용 정리하고자 한다. 모터 용어 설명 1. resoultion : 모터에 신호를 한번 주었을 때 움직이는 각도2. RPM(Resolution per minutes ) ; 분당 회전수(회전속도로 표현하기도 한다) 3. sequence : 1각을 이동하기 위한 X번 스텝드을 1 sequence이라 한다. 4.CW, CCW : Motor의 회전방향을 나타낸다.CW : 시계 방향 / CCW : 반시계방향(역전) 5. 탈조 : 스텝 모터는 Pulse 신호에 동기해 회전, 급격한 속도변화나 과부하시에는 동기가 상실 입력 Pulse에 동기하지 않는 상태 동작 제어 방식 1. Wave - Drive or Single-coil .. 2025. 2. 14.
조건부 매크로 컴파일 (#ifdef #ifndef) 이번 포스팅에서는 자주 사용하는 매크로중 하나인 조건부 매크로 컴파일 사용법에 대해 정리하고자 한다. 프로젝트 상 특별 경우에만 해당 코드를 실행해야할 경우가 많다. 예를 들어 디버깅용 printf문 나 특정 기기에서는 특정 기능 등이다. 이번 포스팅에서는 #ifdef #ifndef 조건부 매크로 컴파일에 대해 정리 하고자 한다. #ifdef1) 형태#ifdef 문자열(#else)#endif 2) 의미#define문으로 해당 문자열이 정의되어 있다면 #ifdef 문에서 선언된 코드를 실행한다.3)예시#define A#define B 0#define C 1#ifdef A // #define 되있기 때문에 실행 printf("Hello A");#ifdef B // #define 되있기 때문에 실행 print.. 2025. 2. 5.
[컴파일 에러] undefined reference to 컴파일시 undefined reference to 에러발생 원인 : 링커(Linker) 단계에서 어떤 함수나 변수의 정의를 찾지 못했을 때 발생- 함수를 헤더파일에 선언만 하고 정의하지 않았을 때- 헤더파일에 선언된 함수를 소스 파일에서 오타를 쳤을 때- 정의된 함수가 다른 파일에 있는데, 링크하지 않았을 때 - 라이브러리 함수인데 라이브러리를 링크하지 않았을 때(ex : sin, cos, sqrt 등) 해결 방법위 원인들 중 실제 원인을 찾아 오류 상태를 해결한다. 2025. 1. 22.
[keil5 build error] undefined symbol error uvision keil5에서 프로젝트 소스 코드 빌드시 아래와 같은 에러가 발생하였다. "undefined sysmbol 함수명 error" 원인임의의 함수를 사용하려고 하는데, 함수가 선언만 되어 있고, 함수 구현이 되어 있지 않는 경우링커가 symbol table에서 linking 하는 과정에서 발생 해결 법헤더 파일에 선언된 함수 형태에 맞게 함수 구현이 이루어진다면 해결할 수 있다. 2025. 1. 22.