DWT(Data Watchpoint and Trigger)精确延时
文章目录
1、DWT介绍
在 Cortex-M3 中,有一个外设叫做 DWT(Data Watchpoint and Trigger),用于系统调试和跟踪,同时也具备延时功能。
DWT之所以能实现延时功能,是因为它有一个32位的计数器CYCCNT
,它是一个向上计数的计数器。 溢出时会自动复位并重新开始向上计数。 它的频率是内核的主频率。 简单来说,如果内核时钟跳动,则CYCCNT
计数器将增加 1。因此DWT可以代替定时器外设来实现延时功能和测量代码运行时间的功能,但是DWT 不能替代定时器的其他功能。
DWT 计数器的精度与系统的主频有关。比如,STM32F103的主频是72MHz,其精度为1 / 72MHz = 14纳秒,这足以满足大部分延时功能的要求。 同理,程序的运行时间为微秒级,远远满足衡量代码运行时间的要求。</