STM32F411RE 在16M(内部时钟)下的软件延时



STM32F411RE 在16M(内部时钟)下的软件延时

软件延时有优点也有缺点,需要的可以参考一下。
CPU:STM32F411RE 
内部16M时钟

测试方法:
while (1)
  {
		HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_10);
		delaynms(1000);//这里用各种延时函数代替
  }
延时的高低电平时间也包括
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_10);
语句执行的时间。

均用示波器测得。


void delay1us()//1.04us
{
	int i=0;
	for(i=0;i<1;i++);
}
void delay2us()//2.08us
{
	int i=0;
	for(i=0;i<4;i++);
}
void delay5us()//5.2us
{
	int i=0;
	for(i=0;i<16;i++);
}
void delay10us()//10.15us
{
	int i=0;
	for(i=0;i<35;i++);
}
void delay30us()//30us
{
	int i=0;
	for(i=0;i<112;i++);
}
void delay100us()//100us
{
	int i=0;
	for(i=0;i<380;i++);
}
void delay300us()//300us
{
	int i=0;
	for(i=0;i<1145;i++);
}
void delay500us()//500us
{
	int i=0;
	for(i=0;i<1912;i++);
}
void delay1ms()//1ms
{
	int i=0;
	for(i=0;i<3832;i++);
}
void delaynms(int n)
{
	int j=0;
	for(j=0;j







你可能感兴趣的:(单片机)