28035的eCAP功能

2019-08-06 15:18发布

使用eCAP来检测方波的频率,开始的时候让单片机自己的EPWM产生50Hz的方波,检测到是50,但是当接到外在方波电路的时候就不对了,为什么呢?设置如下。。。

               ECap1Regs.ECEINT.all = 0x0000;             // Disable all capture interrupts禁止所有的捕获中断
                   ECap1Regs.ECCLR.all = 0xFFFF;              // Clear all CAP interrupt flags清除所有的捕获标志位
                   ECap1Regs.ECCTL1.bit.CAPLDEN = 0;          // Disable CAP1-CAP4 register loads禁止加载CAP1-CAP4寄存器
                   ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;        // Make sure the counter is stopped确保计数器停止计数
                   ECap1Regs.TSCTR = 0;

                   // Configure peripheral registers
                   ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0;      // 连续触发模式
                   ECap1Regs.ECCTL1.bit.CAP1POL = 0;          // 上升沿
                   ECap1Regs.ECCTL1.bit.CAP2POL = 0;          // 上升沿
                   ECap1Regs.ECCTL1.bit.CAP3POL = 0;          // 上升沿
                   ECap1Regs.ECCTL1.bit.CAP4POL = 0;          // 上升沿
                   ECap1Regs.ECCTL1.bit.CTRRST1 = 0;          // 不使能重新计数
                   ECap1Regs.ECCTL1.bit.CTRRST2 = 0;          // 不使能重新计数
                   ECap1Regs.ECCTL1.bit.CTRRST3 = 0;          // 不使能重新计数
                   ECap1Regs.ECCTL1.bit.CTRRST4 = 0;          // 不使能重新计数
                   ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;         // 禁止
                   ECap1Regs.ECCTL2.bit.SYNCO_SEL = 2;        // 旁路时钟

                   ECap1Regs.ECCTL1.bit.CAPLDEN = 1;          // 使能捕获单元加载
                   ECap1Regs.ECCTL1.bit.PRESCALE = 0;         // 不分频
                   ECap1Regs.ECCTL2.bit.CAP_APWM = 0;         // 运行在CAP模式下
                   ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;

                   ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;        // 开启计数器
                   ECap1Regs.ECCTL1.bit.CAPLDEN = 1;          // Enable CAP1-CAP4 register loads
                  ECap1Regs.ECEINT.bit.CEVT4 = 1;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zhangmangui
1楼-- · 2019-08-06 16:39
外在的方波幅度没有超过3.3V吧    为了保险起见  还是建议你在外部信号和CAP引脚之间串以33R的电阻
也可以将外在信号整形处理之后   在送入
lijinpeng90
2楼-- · 2019-08-06 20:22
zhangmangui 发表于 2013-9-4 23:43
外在的方波幅度没有超过3.3V吧    为了保险起见  还是建议你在外部信号和CAP引脚之间串以33R的电阻
也可以 ...

是硬件的问题,在上升和下降边沿有很多脉冲。。。
zhangmangui
3楼-- · 2019-08-06 21:21
lijinpeng90 发表于 2013-9-14 17:59
是硬件的问题,在上升和下降边沿有很多脉冲。。。

哦  找到问题就好解决了

一周热门 更多>