在stm32的主程序里,调用一个自己的Delay()函数,如下:
void Delay(__IO uint32_t nTime)
{
__IO uint32_t TimingDelay;
TimingDelay = nTime*0x1D4C0; /*设置的sysclk为120 000 000,0x1D4C0=120 000,这样应该是跑完0x1D4C0后是1ms的时间吧
while((TimingDelay--) != 0);
}
当我调用的时候是这样的:
GPIO_ResetBits(GPIOE, GPIO_Pin_5);
Delay(100);
GPIO_SetBits(GPIOE, GPIO_Pin_5);
Delay(100);
但是延迟时间用示波器测出来Delay(100)却是700ms
求大侠们指点,我觉得算出来应该是100ms才对啊。 |