查看: 372|回复: 0

[经验] LF2407捕获不能再次中断的原因及解决方法

[复制链接]

该用户从未签到

发表于 2020-12-6 22:43:22 | 显示全部楼层 |阅读模式
分享到:
问题:2407设置好了捕获中断相关的所有寄存器后,利用捕获中断采集波形的沿信息,采集一定数目之后,停止中断,然后处理。但是第二次再启动采集的时候,却不能进入到中断服务程序。

      原因:第一次捕获完毕,停止中断的时候,只是停止了总中断的开关,而2407是有两级中断构成的,底层事件管理器那一级还在继续进行,捕获也仍然在进行。这样容易产生混乱。

      解决方法:停止中断的时候,同时要屏蔽底层事件管理器相关的中断,同时要停止捕获。其实只有四句代码。如下:
  1. void inline StopCaps() //停止所有捕获以及其中断
  2. {
  3. *EVAIMRC = 0x0;
  4. *EVBIMRC = 0x0;
  5. *CAPCONA = 0;
  6. *CAPCONB = 0;
  7. }
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-25 17:15 , Processed in 0.114693 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.