赞
踩
在CPU为160Mhz下测试
SystemClock_Config(CPU_CLK_160M);
- while (1)
- {
- GPIOB->DATA &= ~GPIO_PIN_0;
- GPIOB->DATA |= GPIO_PIN_0;
- GPIOB->DATA &= ~GPIO_PIN_0;
- GPIOB->DATA |= GPIO_PIN_0;
- HAL_Delay(100);
- }
翻转IO用时176ns
- while (1)
- {
- GPIOB->DATA &= ~GPIO_PIN_0;
- for(int i=0;i<10000;i++);
- GPIOB->DATA |= GPIO_PIN_0;
- HAL_Delay(100);
- }
执行for空循序10000次,耗时188us,单次耗时18.8ns。
系统时钟为160Mhz ,时钟周期为6.25ns ,算下来单个for循环需要3个时钟周期。
-
- while (1)
- {
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
-
- HAL_Delay(100);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。