STM32F103C8T6 下 GPIO_ResetBits 函数执行时间分析

本文将分析在 STM32F103C8T6 主频为 72MHz 的情况下,执行 GPIO_ResetBits(GPIOA,GPIO_Pin_5) 这行代码需要多长时间。

计算方法:

STM32F103C8T6 的主频为 72MHz,意味着每个指令周期为 1/72MHz = 13.89ns。

GPIO_ResetBits 函数需要执行以下指令:

  1. 读取 GPIOA 的寄存器值 (1 个指令周期)2. 修改寄存器值以重置 GPIO_Pin_5 (1 个指令周期)3. 将修改后的值写入寄存器 (1 个指令周期)

总执行时间:

因此,GPIO_ResetBits 函数的总执行时间约为:

3 个指令周期 * 13.89ns/周期 = 41.67ns

结论:

在 STM32F103C8T6 72MHz 主频下,执行 GPIO_ResetBits(GPIOA,GPIO_Pin_5) 函数大约需要 41.67ns。

注意:

  • 以上计算结果仅供参考,实际执行时间可能因编译器优化、代码实现等因素而有所差异。- 该计算假设每个指令的执行时间均为一个指令周期,实际情况可能存在多周期指令。
STM32F103C8T6 GPIO_ResetBits 函数执行时间分析

原文地址: https://www.cveoy.top/t/topic/fNog 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录