//************************************************************************************************** //函 数 名: SysTick_Handler() //功 能: 嘀嗒定时器的中断函数 //返 回 值: 无 //************************************************************************************************** void SysTick_Handler(void) { PBout(1)=!PBout(1); }
//**************************************************************************************************
//函 数 名: SysTick_int()
//功 能: 配置嘀嗒定时器为us还是ms定时,并且开启中断函数
//入口参数: uint32_t ntime 多长时间进入一次中断
// time_unit Times_unit 时间单位的选择,us还是ms
//返 回 值: 无
//**************************************************************************************************
void SysTick_int(uint32_t ntime, time_unit Times_unit)
{
uint32_t F_number;
RCC_ClocksTypeDef RCC_Clocks; //重新定义一个数据源变量
RCC_GetClocksFreq(&RCC_Clocks); //得到系统的所有时间频率
switch(Times_unit)
{
case us : //时间单位为us级别
F_number=ntime *(RCC_Clocks.HCLK_Frequency /1000000 );
break;
case ms : //时间单位为ms级别
F_number=ntime *(RCC_Clocks.HCLK_Frequency /1000 );
break;
default:
break;
}
SysTick_Config(F_number); //配置嘀嗒定时器,并启动中断;时钟源为HCLK
|