完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用F28335的公板進行馬達控制,設定ePWM的中斷頻率為20kHz(50us),當馬達在等速時,理論上每一個epwm中斷時所得到的encoder counts應該大致相同,但是卻發生會有誤差50counts的情形,因此,懷疑中斷時間的準確性,想要檢測中斷時間是否相同。
有使用以下的方式進行測試, 1. 開啟CCS6.0 clock run->clock->enable run->clock->setup,cycle 2. 程式碼:. #include <time.h> clock_t start,stop,substraction,start1[100]; main[ start=clock(); stop=clock(); substraction=stop-start; //檢測過約等於430 ] interrupt void epwmisr(void) [ GpioDataRegs.GPADAT.bit.GPIO8=1; if (i<100) start1=clock(); /*我的程式*/ EPwm1Regs.ETCLR.bit.INT = 1; PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; GpioDataRegs.GPADAT.bit.GPIO8=0; ] 3.將start1[100]中的資料,後一個減掉前一個,例如,start1[1]-start[0],這一百筆資料相減的結果大致都會為1800~1835間,再減掉substraction=430,結果為1370~1405。 想請問的是。 1.若中斷程式未加if (i<100) start1=clock();,利用示波器觀察GPIO8可以發現中斷時間是準確的20us,但是,加入if (i<100) start1=clock();再觀察GPIO8會發現中斷時間不準確,這樣利用clock()所得到的值會是準確的嗎? 2.假設clock()所得到的值會是準確,F28335為150MHz,因此,中斷時間計算為(1/150MHz)*1370=9.13us,和我設定的中斷時間不相符,我的計算有錯誤嗎? 3.還有其他方式可以檢測ePWM中斷時間嗎? 謝謝! |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
697 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
607 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1069 浏览 1 评论
765 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
532 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
179浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
139浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
134浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
128浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
76浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 07:10 , Processed in 0.809390 second(s), Total 40, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号