inflearn logo
강의

Course

Instructor

Free STM32F4 course using HAL, CubeMX, TrueSTUDIO

Generating PWM

임베디드 공부

560

theka17142306

19 asked

0

안녕하세요

강의를 수강하면서 강사님은 이러한 내용들을 어떻게 공부하셨는지 궁금했습니다.

  1. 각종 MCU를 활용함에 있어서 인터럽트나 ADC, PWM 등의 사용법을 알려면 각 MCU별 example을 스터디 하는 것이 최선인가요??

  2. stm 의Cube MX처럼 친철한 툴을 사용하지 못할때(예를들어, ESP나 NRF) 간단한 인터럽트를 사용하더라도 다양한 문제가 생길 것 같은데 이럴때 강사님만의 팁이 있을까요??

임베디드 stm c 드론-개발 esp nrf iot

Answer 1

1

ChrisP

안녕하세요! 올려주신 이 질문 역시 알림이 안떠서 확인이 늦었습니다 ㅠ 답이 늦어져 죄송합니다!

Q1. 각종 MCU를 활용함에 있어서 인터럽트나 ADC, PWM 등의 사용법을 알려면 각 MCU별 example을 스터디 하는 것이 최선인가요??

A. 이런 응용 기술에는 Bottom-up과 Top-down 방식의 공부법이 존재하는데요,

빠르고 시간 효율적인 공부법은 Top-down 방식입니다. 남이 짜놓은 코드와 이미 구현되어있는 기술들을 먼저 구동시켜보고, 코드등을 조금씩 바꾸면 결과가 어떻게 달라지는지 파악해가며 공부하는 방식입니다. 이 방식은 실패할 확률이 낮고, 빠르게 시스템을 이해 할 수 있기 때문에 추천드리는 방식입니다.

하지만 기초가 안되어있는 상태에서 Top-down 방식으로만 공부하면 응용이 잘 안되기 때문에 기초 과정같은 경우엔 Bottom-up 방식이 더 좋을 수 있는데요, 프로그래밍 언어나 MCU의 기초같은 경우엔 Bottom-up으로 먼저 기초지식을 쌓는 것이 좋습니다.

질문에 대한 답을 드리자면, 제가 질문자님의 수준을 모르기 때문에, 만약 기초가 잘 되어있으시다면 Top-down 방식이 좋을 것 같고 그게 아니라면, Bottom-up으로 기초를 좀 잡으시는 것이 좋다 라고 생각됩니다.

Q2. stm 의Cube MX처럼 친철한 툴을 사용하지 못할때(예를들어, ESP나 NRF) 간단한 인터럽트를 사용하더라도 다양한 문제가 생길 것 같은데 이럴때 강사님만의 팁이 있을까요??

A. 친절한 툴이 없는 경우, 칩 제조사에서 제공하는 예제가 있을텐데요, 해당 사용하려는 칩 기능 페리페럴이 포함된 예제를 먼저 돌려보고, 제가 필요한 기능만 남겨놓고 그 외의 모든 코드를 지우고 거의 빈 프로젝트처럼 만든 후에 거기서부터 빌드업을 시작합니다.

예를들어 타이머 인터럽트를 사용해야 한다면, 타이머 인터럽트 기능이 포함된 가장 간단한 예제 프로젝트를 먼저 돌려봅니다. 잘 돌아가는게 확인된다면 이제 타이머 인터럽트 기능을 제외한 다른 모든 코드를 하나씩 지우기 시작합니다. 그럼 타이머 인터럽트를 위한 코드들만 덩그러니 남은 빈 프로젝트가 됩니다. 그 다음부터 여기에 제가 넣고 싶은 기능들을 하나씩 추가합니다.

이것의 핵심은, 딱 제가 필요한 기능만 남기고 나머지를 다 지워서, 다른 프로젝트에서도 써먹을 수 있게 어떤 코드가 필요한 코드인지를 파악하는 것 입니다.

여러 기능이 포함된 코드일수록 내가 필요한 코드가 뭔지 파악하는 것이 어렵기 때문에, 최대한 몸집을 줄여서 빨리 파악할 수 있도록 하는 것이죠!

PWM 실시간 변경 시 ARR이 아닌 PSC 레지스터를 제어해야 하는 이유

0

163

1

클럭설정

0

320

1

SDIO구현

0

429

1

CANable 구매 후 STM32F407V_EduBoard_Ver1.22와 연결 뒤 통신이 안됩니다.

0

309

1

CAN 통신에 사용되는 CANable 보드의 펌웨어

0

1494

2

서보모터 질문

0

344

2

서보모터 제어

0

499

1

IrDA 통신

0

294

1

파일 생성이 되지 않습니다

0

326

1

파일이 없습니다.

0

358

1

사용 프로그램이 맞나요?

0

362

4

선택사항을 실행할 수 없으며 최신 실행 작업이 없습니다. 질문

0

541

1

TrueSTUDIO가 뜨지 않습니다.

0

594

1

pwm 주기 강의 질문드립니다.

0

519

1

가감속 테이블

0

411

1

개인정의 질문

0

352

1

새로운 모듈 새로운 라이브러리

0

354

1

포트 설정 문제

0

467

1

서보모터

0

276

1

예제코드, 회로도 요청드립니다.

0

239

1

보드 구매후 구매확정 하였습니다.

0

227

1

예제코드 및 회로도 요청 건

0

268

1

PWM 생성 주기에 따른 차이점은 어떤것이 있나요?

0

577

1

int _write 함수 관련 문의

0

569

1