inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

전동킥보드로 배우는 임베디드 실전 프로젝트

전동킥보드 펌웨어 코드 분석 (2)

TIM1 interrupt function 주기.

해결된 질문

56

dhanbi1

작성한 질문수 12

1

안녕하세요. 해당 강의에서

TIM1->RCR = 0x0001; 은 50us(20khz)로 나와 TIM1 interrupt function이 20KHz 동작으로 알고 있습니다.

하지만, 다운 받은 코드는 해당 주석이 100us로 나와있는데, 어떤게 맞는지 궁금합니다.

제 의견으로는 PWM 함수에서 Counter-aligned mode3으로 설정되서 RCR=1이 Edge-aligned mode의 2주기가 아니라 1주기동작인 20Khz가 맞는거 같은데,

GPT에서는 RCR=0 → 매 주기(50 µs)마다 인터럽트 → 20 kHz 인터럽트

RCR=1 → (RCR+1)=2 → 2주기(100 µs)마다 인터럽트 → 10 kHz 인터럽트

라고 해서 2주기라고 하는데 무엇이 맞는지 답변 부탁드립니다.

임베디드 stm32 hardware motordriver artwork

답변 2

0

제어쟁이

주석에 오류가 있었습니다. 아래 말씀하신 것처럼 20kHz로 동작이 맞습니다. 초기에 10kHz로 개발하였는데 주석을 미쳐 바꾸지 못한 것 같습니다. 피드백 감사합니다.

TIM1->RCR = 0x0001; 은 50us(20khz)로 나와 TIM1 interrupt function이 20KHz 동작으로 알고 있습니다.

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dhanbi1님.

TIM1의 RCR(Register Control Register) 설정과 이에 따른 인터럽트 주기에 대한 질문을 주셨네요. 이 주제는 임베디드 시스템에서 타이머 설정의 중요한 부분입니다.

TIM1의 RCR에 대한 이해

  • RCR 값의 의미: RCR(Repetition Counter Register)는 타이머 주기의 반복 횟수를 설정하는 데 사용됩니다. 이 값이 0일 경우 한 주기마다 인터럽트가 발생하게 됩니다. 만약 RCR1로 설정되면 (RCR + 1)번, 즉 2주기마다 인터럽트가 발생합니다.

  • 타이머 모드: Counter-aligned mode3 설정에 따라 PWM 신호가 조정됩니다. 이 모드가 주기의 동작을 다르게 해석할 수 있지만, RCR 값 자체의 기본적인 작동 원리는 동일합니다.

주기 계산 및 확인

  • RCR=0: 매 주기(50 µs)마다 인터럽트가 발생하여, 주파수는 20 kHz입니다.
  • RCR=1: 2주기(100 µs)마다 인터럽트가 발생하여, 주파수는 10 kHz가 됩니다.

이러한 내용은 GPT의 설명과 일치하는 부분이 있습니다. 전달받은 코드를 기반으로 주석이 100 µs로 표기되어 있는 경우, RCR=1을 기준으로 하여 인터럽트가 설정되어있다는 의미로 해석할 수 있습니다.

강의 내의 구체적인 설정과 코드 검토를 통해 확인하실 수 있으며, 강의 자료와 제공된 코드 주석을 잘 숙지하시면 이해에 도움이 될 것입니다. 관련 설정에 대해 전동킥보드로 배우는 임베디드 실전 프로젝트 강의에서 자료를 재확인해 보시는 것도 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수업관련

0

23

1

벅 컨버터 스위치 off 상태일 때 흐름

0

30

2

PCB 발주

0

30

1

32. MOSFET의 특성과 동작 영역 강의 내용 중 P=I^2R질문

0

21

2

LDO 선정 이유

0

23

1

벅컨버터 사용 및 그라운드 분리

0

56

2

EEPROM I2C 풀업저항

0

51

2

측정관련 질문

0

62

2

벅컨버터 출력전압

0

57

2

실습 질문

0

64

2

벅컨버터 설계시 스위칭 주파수 설정

1

72

2

모터 구동 오류

0

70

2

EasyEDA

0

70

2

URAT 연결

0

73

2

Object 1 is disconnected from other objects of the same network 에러가 떴어요

0

72

2

PCB 관련 문의 건.

0

100

1

NTC 사용 이유가 궁금합니다.

0

87

2

실제 프로젝트 궁금증

0

88

2

Ias_offset의 변수타입을 uint32_t로 하든 int32_t로 하든 상관이 없나요?

0

83

2

인버터 회로 설계 발주 전에 컨펌 한번 받을 수 있을까요?

0

111

2

플로팅현상에 대한 질문

0

78

1

19 저항의 종류 강의 중 저항온도계수 설명 문의드립니다.

0

93

2

벅 컨버터 설계: 전체 응답성 설정 부분

0

90

2

UART 통신 테라텀 실습관련

0

84

2