完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我在使用CAP模块时遇到了一些问题。看了ti的几个eCAP例程,对其中的配置还是有一些疑问,例程里基本都要用到中断,然后eCAP1模块的CAP1-4都要用到,然后算频率之类的等等。
而我想实现的功能是:比如EPwm1A输出一个50Hz的方波,将该方波送入ECAP1口检测。检测上升沿时强制EPwm1B置高,检测下降沿时强制EPwm1B置低(其实就是检测电网电压过零点产生50Hz的方波去驱动一个逆变桥)。然后我看了eCAP模块在捕获事件发生时会将ECFLG寄存器中对应的状态位CEVTx置位。 但是我有两个疑问: 1. 如果不配置中断,状态位CEVTx在捕获事件发生时会被置位么?(实际上我就是不需要配置中断,因为最后这段程序本来就会运行在系统的中断程序里,没必要再加一个中断。) 2. 在使用ECAP1时,我可以只使用CAP1-2,3-4不使用么?因为我只需要捕获一个上升沿,EPwm1B置高,等待下一次上升沿;捕获一次下降沿,EPwm1B置低,等待下一次下降沿。 我按照这个想法去写了一个测试程序,没有出现正确现象,我感觉配置上也有一点问题,所以不确定是不是中断的原因。50Hz的pwm波是正常产生,接线也没有错, 我的ECAP1配置如下: void SetCap1Mode(void) { ECap1Regs.ECCTL1.bit.CAP1POL = EC_RISING; ECap1Regs.ECCTL1.bit.CAP2POL = EC_FALLING; ECap1Regs.ECCTL1.bit.CTRRST1 = EC_ABS_MODE; ECap1Regs.ECCTL1.bit.CTRRST2 = EC_ABS_MODE; ECap1Regs.ECCTL1.bit.CAPLDEN = EC_ENABLE; ECap1Regs.ECCTL1.bit.PRESCALE = EC_DIV1; ECap1Regs.ECCTL2.bit.CAP_APWM = EC_CAP_MODE; ECap1Regs.ECCTL2.bit.CONT_ONESHT = EC_CONTINUOUS; ECap1Regs.ECCTL2.bit.SYNCO_SEL = EC_SYNCO_DIS; ECap1Regs.ECCTL2.bit.SYNCI_EN = EC_DISABLE; ECap1Regs.ECEINT.all = 0x0000; //stop all interrupt ECap1Regs.ECCLR.all = 0xFFFF; //clare all flag ECap1Regs.ECCTL2.bit.REARM = EC_ARM; ECap1Regs.ECCTL2.bit.TSCTRSTOP = EC_RUN; // 启动 ECap1Regs.ECCTL2.bit.STOP_WRAP = EC_EVENT2; } 在主循环里是这样判断的(总感觉好像缺点什么,比如ECAP要不要重新再启动一下?) while(1) { if( ECap1Regs.ECFLG.bit.CEVT1 ==1 )//when cap the rising,the flag CEVT1 will be set automatically { LED1 = ~LED1; EPwm1Regs.AQCSFRC.bit.CSFB = 2; ECap1Regs.ECCLR.bit.CEVT1 = 1; //clear the flag CEVT1 to wait for the next rising } if( ECap1Regs.ECFLG.bit.CEVT2 == 1 )//when cap the falling,the flag CEVT2 will be set automatically { LED2 = ~LED2; EPwm1Regs.AQCSFRC.bit.CSFB = 1; ECap1Regs.ECCLR.bit.CEVT2 = 1; //clear the flag CEVT2 to wait for the next falling } } 希望得到高手指点,谢谢! |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
2343 浏览 0 评论
681 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
2780 浏览 0 评论
3541 浏览 1 评论
1194 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 01:25 , Processed in 0.568706 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号