首页 理论教育 IrFlag中断服务程序的优化方法

IrFlag中断服务程序的优化方法

时间:2023-06-16 理论教育 版权反馈
【摘要】:TDC-GPX 执行测量后向处理器发出中断请求信号IrFlag,随后处理器响应中断并执行IrFlag 中断服务程序。如果EF1=1,表示TDC-GPX 的IFIFO0 为空,即1~4 通道没有测量数据,程序转入下一步。第二步,判断EF2 信号是否为0,如果EF2=0,处理器从数据总线D0 至D27 上读取来自IFIFO1 的5~8 通道测量结果,并写入片内RAM 中开辟的8KB 循环FIFO 中。第四步,STM32F103ZET6 启动串口1 发送上述第一步和第二步写入循环FIFO 中的测量数据。最后,IrFlag 中断退出,程序返回事件循环。

IrFlag中断服务程序的优化方法

TDC-GPX 执行测量后向处理器发出中断请求信号IrFlag,随后处理器响应中断并执行IrFlag 中断服务程序。图6-10 为IrFlag 中断程序流程图

第一步,判断EF1 信号是否为0,如果EF1=0,STM32F103ZET6 从数据总线D0 至D27 上读取来自IFIFO0 中的1 ~4 通道测量结果,并写入片内RAM 中开辟的8KB 循环FIFO 中。如果EF1=1,表示TDC-GPX 的IFIFO0 为空,即1~4 通道没有测量数据,程序转入下一步。

第二步,判断EF2 信号是否为0,如果EF2=0,处理器从数据总线D0 至D27 上读取来自IFIFO1 的5~8 通道测量结果,并写入片内RAM 中开辟的8KB 循环FIFO 中。如果EF2=1,表示TDC-GPX 的IFIFO1 为空,即5~8 通道没有测量数据。(www.xing528.com)

第三步,程序对TDC-GPX 进行主复位,即对信号Alutrigger 置1 后再清零,用于清空TDC-GPX 内部FIFO 中数据,准备下一轮测量。

第四步,STM32F103ZET6 启动串口1 发送上述第一步和第二步写入循环FIFO 中的测量数据。

最后,IrFlag 中断退出,程序返回事件循环。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈