飞龙在天 发表于 2018-4-26 16:46:23

求助帖,在线等,挺急的。。。

void delay_us(u32 i)
{
        u32 temp;
        SysTick->LOAD=9*i;               //设置重装数值, 72MHZ时
        SysTick->CTRL=0X01;               //使能,减到零是无动作,采用外部时钟源
        SysTick->VAL=0;                          //清零计数器
        do
        {
                temp=SysTick->CTRL;                   //读取当前倒计数值
        }
        while((temp&0x01)&&(!(temp&(1<<16))));       //等待时间到达
        SysTick->CTRL=0;        //关闭计数器
        SysTick->VAL=0;                //清空计数器
}

while((temp&0x01)&&(!(temp&(1<<16))));在该句while循环中temp&(1<<16)是判断什么的??
页: [1]
查看完整版本: 求助帖,在线等,挺急的。。。