void delay_us(u32 nus)
{
u32 temp;
SysTick->LOAD=nus*fac_us;
SysTick->VAL=0x00;
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;
do
{
temp=SysTick->CTRL;
}while((temp&0x01)&&!(temp&(1<<16))); //等待时间到达
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;
SysTick->VAL =0X00;
}
while((temp & 0x01) && !(temp & (1 << 16)));这个语句的详细解答是什么? 求大神们帮我解释下 小弟感激不尽
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
但是我觉得 temp 的最低位一直都是1 没有必要再去判断 也就是说 (temp & 0x01)一直都是真 因为在CTRL寄存器中位0是 Yystick定时器的使能位
一周热门 更多>