单片机型号:STM32F415VG,使用外部8M晶振,设置系统时钟为168M用原子哥的us级延时函数延时500us,但实测为1.5ms,这是为什么,哪里我没考虑到?
void delayus(u32 nus)
{
u32 temp;
SysTick->LOAD = nus*21;
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;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>