본문 바로가기

연구 노트

(75)
PWM으로 스텝모터 제어시 꼭 확인합시다. 요약: ARR, CCR 값이 설정 가능한 최대값을 넘어가지 않는지 확인합시다. 예를 들어 Core 클럭이 96MHz이고, 타이머의 Prescale 값을 96으로 설정하면(실제로는 설정할 때는 96에서 1이 빠진 95가 되어야 합니다.) Timer 내부에 공급되는 클럭은 1MHz가 됩니다. 이 때, 초당 8펄스 속도로 신호를 공급하고자 했을 때 아래와 같이 값을 설정하게 됩니다. ARR = (1000000 / 8) - 1 = 124999 CCR = (125000 / 2) - 1 = 62499 언듯보면 문제가 없는 것 같습니다. 하지만 모터는 아예 회전을 하지 않았습니다. 과연 무엇이 잘못되어 그런 것일까요? 답은 ARR 설정 값에 있습니다. 제가 사용한 MCU 는 STM32H743ZI 입니다. 그리고 타이..
헤더 파일 중복 방지 왜 필요할까? 헤더파일 중복을 방지하기 위해서 아래와 같은 형식을 사용합니다. #ifndef _XXXX_H #define _XXXX_H ... #endif 의미는 잘 알겠으나, 한가지 의문점이 있습니다. 일반적으로 헤더 파일에는 선언(declaration)을 합니다. 그런데 선언은 중복 되어도 에러가 발생하지 않습니다. 중복 에러가 발생할 수 있는 것은 정의(definition)입니다. 따라서 헤더 파일의 본래 목적대로 선언만을 적어놓는다면 중복 오류가 발생할 일이 없습니다. 그렇다면 왜 중복 방지를 해야할까요? 검색을 해보니 이 글에서 든 예시에서 헤더 파일에 구조체를 정의하는 것을 발견 하였습니다. 구조체를 포함하고 있는 헤더 파일에 중복 선언 방지 처리를 해놓지 않으면 문제가 발생할 수 있게 됩니다. 헤더 파일에..
아두이노 설치 및 환경 설정 A. 설치 파일 다운로드아두이노 홈페이지 (https://arduino.cc)에 접속합니다.홈페이지 상단 메뉴에서 SOFTWARE > DOWNLOAD 를 찾아서 클릭합니다."Download the Arduino IDE" 항목을 찾아 자신의 운영체제(OS)에 맞는 설치 파일 링크를 클릭합니다. 후원하고자 하는 경우 금액을 선택 후 "CONTRIBUTE & DOWNLOAD"를 클릭합니다. 무료로 사용할 경우 "JUST DOWNLOAD"를 클릭하여 설치파일을 다운로드 합니다. B. 아두이노 IDE(통합 개발 환경) 설치설치 파일을 다운로드한 경로를 열어서 설치 파일을 실행합니다. 설치를 진행합니다. (특별한 경우가 아니라면 기본값으로 설치합니다.) "I Agree" 클릭 "Next" 클릭 "Install" 클..