项目要求对工频电压进行过零检测,而为了防止出现误差,应该检测两次过零点的时间间隔是不是大于一定值,因此需要测量两次捕捉的相对时间。

进行两次检测,第一次检测到信号就复位计数器,第二次检测到的结果就是需要的相对时间,可直接使用。

 IER |= M_INT4;// Initialize eCAP1/2/3InitECap1Gpio();ECap1Regs.ECEINT.all = 0x0000;             // Disable all capture interruptsECap1Regs.ECCLR.all = 0xFFFF;              // Clear all CAP interrupt flagsECap1Regs.ECCTL1.bit.CAPLDEN = 0;          // Disable CAP1-CAP4 register loadsECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;        // Make sure the counter is stopped// Configure peripheral registersECap1Regs.ECCTL2.bit.CONT_ONESHT = 1;      // continueECap1Regs.ECCTL2.bit.STOP_WRAP = 1;        // Stop at 2 eventsECap1Regs.ECCTL1.bit.CAP1POL = 0;          // Rising edgeECap1Regs.ECCTL1.bit.CAP2POL = 0;          // Rising edgeECap1Regs.ECCTL1.bit.CTRRST1 = 1;          // Difference operation ECap1Regs.ECCTL1.bit.CTRRST1 = 0;      //第一次捕获,复位计数器,//第二次得到的值就是需要的时间ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;         // Enable sync inECap1Regs.ECCTL2.bit.SYNCO_SEL = 0x10;        // Pass throughECap1Regs.ECCTL1.bit.CAPLDEN = 1;          // Enable capture unitsECap1Regs.ECCTL2.bit.REARM = 1;ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;        // Start CounterECap1Regs.ECCTL1.bit.CAPLDEN = 1;          // Enable CAP1-CAP4 register loadsECap1Regs.ECEINT.bit.CEVT2 = 1;            // 1 events = interrupt// Enable eCAP INTn in the PIE: Group 3 interrupt 1PieCtrlRegs.PIEIER4.bit.INTx1 = 1;

每个CAP模块都有一个PIE中断,而CAP模块中又有7个触发源能够触发此中断,因而在相应的中断函数中,要进行识别,或者限制的处理

每次CAP模块捕获wrap的次数后,对应的引脚则被冻结,停止捕获,而ECap1Regs.ECCTL2.bit.REARM = 1;则能解除冻结,同时返回到cap1

因此在中断函数中应该加入

  ECap1Regs.ECCLR.bit.CEVT2 = 1;ECap1Regs.ECCLR.bit.INT = 1;ECap1Regs.ECCTL2.bit.REARM = 1;// 用于重新启动CAP

F28335_ECAP使用相关推荐

最新文章

  1. OpenCV求逆(伪逆)矩阵函数
  2. 550种Blender风格化笔刷素材
  3. react-native安装Ant Design
  4. 复盘AI领域收购十年:635起收购案,苹果位居榜首
  5. Spring boot修改静态资源映射
  6. 8000字干货 | 教你打造电商产品的用户体系
  7. 开源 免费 java CMS - FreeCMS2.1 菜单管理
  8. 恒大紧急辟谣“资金链断裂”,股价止跌回升
  9. 产生java的动态库文件so的配置步骤
  10. Swift中字典解析后的问题,!?两种拆包的差别
  11. 【图像隐写】基于matlab DCT数字水印嵌入+检测+攻击(测试鲁棒性)【含Matlab源码 1133期】
  12. 拼图复原_玩过上百款拼图后,我总结出这份超详细的拼图年龄对照表!(收藏贴)...
  13. 转:IV值和WOE值的理解
  14. 怎么把知网的外文文献翻译成中文_方法一:外文文献翻译法原理:知网论文反抄袭检测系统和万方数据...
  15. 网络是怎样联通的-整体架构
  16. KMP 深入理解next数组
  17. 6.lambda表达式
  18. 极米投屏h2服务器响应失败,极米h2升级断电后怎么办?是修还是换一台当贝投影F3?...
  19. Lenovo笔记本各类型触控板,触摸部分只能移动无法点击的问题汇总
  20. win10右键文件夹无反应

热门文章

  1. 广州IATF16949认证_广州IATF16949咨询_8.3.3.3特殊特性
  2. 可以办理软件著作权的部门有哪些
  3. 基于Python实现神经网络中的激活函数图像绘制
  4. android 获取剪切内容,Android Q 获取剪切板内容
  5. 支付宝固码接口文档-hook
  6. 通俗,通俗(白话)理解TCP和UDP的区别
  7. GCP: IAM的使用
  8. 程序员也应该多花时间多读书
  9. linux服务器测试报告,服务器测试报告.doc
  10. php连接redis出现Redis server went away