摘要

为了消除计数器的捕获数据错误和保障数据安全,在阐述可编程计数器捕获测时的原理及方法的基础上,建立了软件计数器的读-写者模型,指出了软件计数器共享问题是造成65 536数据出错的原因。从计数器的工作时序入手,引入了计数器新的工作态——竞争态,提出了工作状态检测+事件同步的软件解决方法,并在STM32单片机和FreeRTOS操作系统上对该方法进行了验证。实验表明,该新方法准确捕获了周期大于1个计数器周期的时间间隔信号,计数误差为±1,证明了新方法更正了计数器溢出中断和捕获中断调用的时序,消除了变量共享矛盾,避免了传统中断方法的65 536计数错误,为捕获测时提供了安全可靠的设计与方法参考。