Page 891 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 891
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x000000);
#else /* VECT_TAB_FLASH */
/* Set the Vector Table base location at 0x08000000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x000000);
#endif
/* Configure one bit for preemption priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
/* 인터럽트 5~9번 라인 활성화 */
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
//인터럽트 우선순위 설정
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* 인터럽트 10~15번 라인 활성화 */
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
//인터럽트 우선순위 설정
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
/* 타이머4 설정 */
void init_Timer4()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure4;
TIM_OCInitTypeDef TIM_OCInitStructure4;
// TIM4 Pin -> PB06, PB07, PB08, PB09
TIM_TimeBaseStructure4.TIM_Period=20000-1;
// 20kHz ( (1/72MHz) * 20KHz * 72 = 20ms)
TIM_TimeBaseStructure4.TIM_Prescaler=72-1;
//1MHz (STM32F103XX -> 72MHz. Prescale 72 == 1MHz)
- 884 -