初始化
? ? SysTick->CNTL0 =0;
? ? SysTick->CNTL1 =0;
? ? SysTick->CNTL2 =0;
? ? SysTick->CNTL3 =0;
? ? SysTick->CNTH0 =0;
? ? SysTick->CNTH1 =0;
? ? SysTick->CNTH2 =0;
? ? SysTick->CNTH3 =0;
? ? i=FSYS/8/4;
? ? SysTick->CMPLR0 = (u8)(i & 0xFF);
? ? SysTick->CMPLR1 = (u8)(i >> 8);
? ? SysTick->CMPLR2 = (u8)(i >> 16);
? ? SysTick->CMPLR3 = (u8)(i >> 24);
? ? SysTick->CMPHR0 =0;
? ? SysTick->CMPHR1 =0;
? ? SysTick->CMPHR2 =0;
? ? SysTick->CMPHR3 =0;
? ? SysTick->CTLR=1;
? ?NVIC_EnableIRQ(SysTicK_IRQn);
中斷程序翻PB8閃燈:
? ? GPIOB->OUTDR^=1<<8;
? ? SysTick->CNTL0 =0;
? ? SysTick->CNTL1 =0;
? ? SysTick->CNTL2 =0;
? ? SysTick->CNTL3 =0;
? ? SysTick->CNTH0 =0;
? ? SysTick->CNTH1 =0;
? ? SysTick->CNTH2 =0;
? ? SysTick->CNTH3 =0;
單獨這樣跑沒有問題,
隨便增加USART1發(fā)送一字節(jié),就不閃了,CPU沒有死,讀systick值,CNT在增加,就是不進(jìn)中斷