hal库

 

 HAL_GPIO_WritePin(latch_GPIO_Port, latch_Pin, 0);
HAL_GPIO_WritePin(latch_GPIO_Port, latch_Pin,
1);

 

寄存器

  GPIOA->BSRR=GPIO_PIN_4; //拉高
  GPIOA->BRR=GPIO_PIN_4;//拉低

 

 

48M

hal 432.9K 2.315uS
寄存器 3.425M 292nS

 

hal

STM32F031 使用hal库翻转io速度测试

 

 

 

寄存器

STM32F031 使用hal库翻转io速度测试

 

 

24m

hal 235.8k 4.24us
寄存器 1.923M 5.20ns

 

hal

STM32F031 使用hal库翻转io速度测试

寄存器

STM32F031 使用hal库翻转io速度测试

 

 

 

 

 

12M

hal 118k 8.5us
寄存器 924k 1.082us

hal

STM32F031 使用hal库翻转io速度测试

 

 

 

 寄存器

STM32F031 使用hal库翻转io速度测试

6M

hal 58.82k 17us
  461.9 2.17

 

hal

STM32F031 使用hal库翻转io速度测试

 

 

 

 

 寄存器

STM32F031 使用hal库翻转io速度测试

 

 

4M

hal 39.22 25.5
寄存器 306.7k 3.26us

hal

STM32F031 使用hal库翻转io速度测试

 

 

 

寄存器

STM32F031 使用hal库翻转io速度测试

2M

hal 19.65 51
寄存器 153k 6.52us

 

hal

STM32F031 使用hal库翻转io速度测试

 

寄存器

STM32F031 使用hal库翻转io速度测试

 

 

 1M

hal 9.8k 101.8us
寄存器 79.2k 13us

hal

STM32F031 使用hal库翻转io速度测试

 

 

寄存器

STM32F031 使用hal库翻转io速度测试

 

 

500k

hal 4.9k 204us
寄存器 38.46 k 26

 

hal

STM32F031 使用hal库翻转io速度测试

 

 寄存器

STM32F031 使用hal库翻转io速度测试

结论

Fclk(Mhz) hal库(Khz) 寄存器(Khz) 寄存器领先倍数
48 432.9 3425  7.9
24  235.8  1923  8.155
12 118  924  4.7.8
6  58.82  461.9  7.85
4  39.22 306.7  7.8
2  19.65  153  7.78
1 9.8  72.9 7.4
0.5  4.9  38.46  7.8489

相关文章: