stm32有关systick中断配置
以下是我测试公共的代码,我没有配置NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);但是测试却成功了,请问是什么原因,谢谢int main (void)
{
rcc_config (); // .\config.c
nvic_config (); // .\config.c
gpio_config (); // .\config.c
usart_config (); // .\config.c
systick_config (); // .\config.c
while (1)
{
GPIO_SetBits(GPIOB, GPIO_Pin_6);
if(upload_cnt<=5)
{GPIO_SetBits(GPIOB, GPIO_Pin_5);
USART_SendData (USART1, upload_cnt);
while ( USART_GetFlagStatus (USART1, USART_FLAG_TXE) == FALSE );}
else if(upload_cnt<=10)
{GPIO_ResetBits(GPIOB, GPIO_Pin_5);}
else
{upload_cnt=0;}
}
}
void my_systick_IRQHandler (void) // ¶¨Ê±Æ÷ÖжϷþÎñ³ÌÐò
{
upload_cnt++; // ¶¨Ê±Æ÷¼ÆÊý±äÁ¿¼ÓÒ»
//adc_event = TRUE;
}
void systick_config (void)
{
SysTick_CLKSourceConfig (SysTick_CLKSource_HCLK_Div8); // 8·ÖƵ£º8M * 9 /8 = 9M
//NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
SysTick_SetReload (9000); // 1ms
SysTick_ITConfig (ENABLE); // ´ò¿ªSystickÖжÏ
SysTick_CounterCmd(SysTick_Counter_Enable); // ʹÄÜSystick
}
void SysTick_CLKSourceConfig(u32 SysTick_CLKSource)
{
/* Check the parameters */
assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
{
SysTick->CTRL |= SysTick_CLKSource_HCLK;
}
else
{
SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
}
}
void SysTick_SetReload(u32 Reload)
{
/* Check the parameters */
assert_param(IS_SYSTICK_RELOAD(Reload));
SysTick->LOAD = Reload;
}
void SysTick_ITConfig(FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE)
{
SysTick->CTRL |= CTRL_TICKINT_Set;
}
else
{
SysTick->CTRL &= CTRL_TICKINT_Reset;
}
}
void SysTick_CounterCmd(u32 SysTick_Counter)
{
/* Check the parameters */
assert_param(IS_SYSTICK_COUNTER(SysTick_Counter));
if (SysTick_Counter == SysTick_Counter_Enable)
{
SysTick->CTRL |= SysTick_Counter_Enable;
}
else if (SysTick_Counter == SysTick_Counter_Disable)
{
SysTick->CTRL &= SysTick_Counter_Disable;
}
else /* SysTick_Counter == SysTick_Counter_Clear */
{
SysTick->VAL = SysTick_Counter_Clear;
}
}
页:
[1]