考虑到一些情况下,无法使用系统定时或者定时器,而进行的时间计算。
STM32F1系列,对于72Mhz来说
void my_delay_ms(u32 ms)
{//对于stm32f1系列 72mhz大致是1ms
u16 i = 0;
while(ms--)
{
i = 4050;
while(i--);
};
}
void my_delay_us(u32 us)
{//对于stm32f1系列 72mhz大致是1us
u16 i = 0;
while(us--)
{
i = 2;
while(i--);
}
}
对于STM32F4系列,168Mhz而言
void my_delay_us(u32 us)
{//对于stm32f4系列 168mhz大致是1us
u8 i = 0;
while(us--)
{
i = 42;
while(i--);
};
}
void delay_ms(u32 ms)
{对于stm32f4系列 168mhz大致是1ms
u16 i = 0;
while(ms--)
{
i = 41750;
while(i--);
};
}
有兴趣的朋友可以试一下F2 F0 F3等其它系列
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)