STM32 SysTick基于3.5庫函數(shù)
#include "led.h"
#include
/***********************************************************************
***********************************************************************/
static __IO uint32_t TimingDelay;
/***********************************************************************
***********************************************************************/
void delay(__IO uint32_t nTime);
void TimingDelay_Decrement(void);
/***********************************************************************
************************************************************************/
main()
{
if (SysTick_Config(SystemCoreClock / 100)) //10000為100mS,1000為10mS,100為1mS,進(jìn)入一次定時器中斷
{
/* Capture error */
while (1);
}
LED_Init();
while(1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);
GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_RESET);
delay(100);
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);
GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_SET);
delay(100);
}
}
//PA8和PD2的LED0 AND LED1 每一秒交替亮滅
/*****************************************************************************
*****************************************************************************/
/**
* 延遲SysTick定時時間 nTime * 1mS
*/
void delay(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
/**
* SysTick定時(定時器中斷函數(shù)在stm32f10x_it.c里的SysTick_Handler,且調(diào)用本程序)
* if (SysTick_Config(SystemCoreClock / 100))設(shè)置為1mS進(jìn)入一次本程序
*/
void TimingDelay_Decrement(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
}
評論