inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

STM32 FFT 구현

main.c 코드 문의 (교육자료 34p)

382

dayday

작성한 질문수 17

0

56 uint8_t g_100ms_flag = 0;

-> TIM1 인터럽트 주기 = 50ms 인데, 위 변수에 100ms라고 하는것은 토글에 의한 PB3

핀의 신호 주기가 2배가 되기 때문인가요? (아래 그림 cnt_100ms 변화도 맞게 그린건가요?)

 

-> 그리고 강의 초반에 division = 2 는 어떤것에 영향을 주는것인가요??

 

 

FFT

답변 1

1

alex

50ms 주기인데, 변수명이 잘못되었네요 ㅠㅠ
g_50ms_flag를 사용해야 되는데, 오타입니다 ㅎㅎ


divider = 2는 특별한 의미는 없습니다.
보통 타이머의 주기를 설정하기 위하여 아래와 같은 식이 사용됩니다.
타이머 주파수 = (System clock) / (Prescaler * divider)
낮은 주파수(큰 주기)를 만들기 위하여 divider 값을 크게 해서 사용합니다.
divider로 인해서 설정가능한 주파수 범위가 더 넗어진다고 생각하면 됩니다.
감사합니다 ~!!

0

dayday

아하 ㅎㅎㅎ 감사합니다.

추가로 질문이 있습니다...

main.c 코드의 454번째 줄에서 "HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);" 를 사용하셨는데..
-> "HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);" 라는 코드만 보면 High 출력 상태인지 Low 출력 상태인지를 알 수가 없고, 단순히 인터럽트 잘 되고있는지 확인하는 용도 잖아요?!

-> gpio 핀에서 계속 High 신호 or low 신호를 출력하도록 하려면 어떤 함수를 써야 하나요..??

1

alex

HAL_GPIO_TogglePin 함수에서 F3 키를 누르면 해당 함수로 이동합니다.
해당 함수 위 아래에 함수들이 정의되어 있습니다.
직접 확인해 보세요 ~

0

dayday

아아~~ 확인했습니다 감사해요!!!

43Page FFT 결과 확인 그림 6-8 그래프는 어떻게 그리신건가요?

0

181

1

오늘 구매한 학생입니다.

0

199

2

STM32F103R8T6으로 구현 시 문제

0

250

1

디버그 모드에서 LIVE expression 변수가 보이지 않아요

0

433

1

STM32 FFT 측정주파수 관련 문의

0

342

1

WinIDT v1.2 USART 통신불가

0

370

1

FFT

0

313

1

ADC 문의

0

371

2

arm_math.h 관련 문의

0

807

4

Serial Wire 문의

0

458

1

ADC 입력 문의

0

275

1