STM32F072在8M下的软件延时

    使用定时器产生的延时精度确实是高,但是也相对麻烦,软件延时虽然精度不高,但也相对简单,使用方便,在精度要求不高的情况的可以使用。            

    使用的是STM32F032 Nucleo开发板,为内部8M晶振。

    以下延时函数用示波器测得,精度小于1us。

//STM32F072RB Nucleo
//在内部晶振为8M的情况下

void delay3us()//3us
{
	int i;
	for(i=0;i<1;i++);
}

void delay10us()//10us
{
	int i;
	for(i=0;i<12;i++);
}

void delay20us()
{
	int i;
	for(i=0;i<28;i++);
}

void delay50us()
{
	int i;
	for(i=0;i<76;i++);
}

void delay200us()
{
	int i;
	for(i=0;i<317;i++);
}

void delay500us()
{
	int i;
	for(i=0;i<796;i++);
}

void delay1ms()
{
	int i;
	for(i=0;i<1590;i++);
}

void delaynms(int n)
{
	int j;
	for(j=0;j<n;j++)
		delay1ms();
}


你可能感兴趣的:(单片机,stm32,软件延时)