TI中文支持网
TI专业的中文技术问题咨询交流网站

28377D CLA执行

把例程cla_adc_fir32_cpu01烧到CPU,为什么在void cla1Isr7 ()打断点,程序进不去,自己写的程序也进不去?

Susan Yang:

应该是没有满足 ISR的条件,所以不会进入中断服务程序中

//! This example implements a 5 Tap FIR filter. It will setup
//! EPWM1 to trigger ADCA at a frequency of 50KHz. Once the ADC
//! completes sampling, it will trigger task 7 of the CLA which
//! runs the filter on the ADC sample.

//! \b External \b Connections \n
//!- EPWM2A (GPIO2) to ADCA0

您是否有连接对应的引脚?目前使用的硬件是什么?

user5860441:

回复 Susan Yang:

EPWM1 触发 ADCA采样,转换完成后触发CLA task7,task7执行完,返回到CPU中的void cla1Isr7 (),和EPWM2没有关系吧?

Susan Yang:

回复 user5860441:

所以您现在使用的是launchpad?程序是否load到CLA了?请先看一下我之前的帖子

e2echina.ti.com/…/529741

user5860441:

回复 Susan Yang:

我是按照28035的使用方法来的,不知道28377d有什么不同,load symbol是啥意思,只有一个.out文件,我先不debug CLA我只想让CLA运行起来,程序load到CLA是要单独烧写CLA程序吗?

user5860441:

回复 Susan Yang:

控制板是自己画的。

Susan Yang:

回复 user5860441:

我们有一个专门的CLA workshop,您可以看一下training.ti.com/control-law-accelerator-cla-hands-workshoptraining.ti.com/cla-hands-workshop-part-4-debugging-cla讲述了如何debug CLA

user5860441:

回复 Susan Yang:

第一,我的目的不是验证这个滤波器的效果,所以那两个引脚连不连在一起没关系。
第二,我也不是想学CLA怎么debug,调试的方法很多,可以把cla中的变量传到cpu,在cpu中查看,还可以在cla中控制EPWM,用示波器看。
第三,给的链接我看了,前面介绍了CLA的知识,中间基本是代码的解释,最后讲了CLA调试。
第四,我的目的是验证CLAtask有没有运行,在CLA中变量自加,传到cpu查看,这个值没有变化,cla task end触发的中断也进不去。当我给adc引脚电压扰动,结果寄存器值发生变化,说明ADC是正常的,就是不知道为什么CLAtask不运行?麻烦帮我想想

user4522357:

回复 user5860441:

用Cla1ForceTask2andWait();应该能判断出来是不是运行了,进入了死循环就是CLA没运行,我也遇见了问题,现在也是不知道为什么CLA没有运行,不知道是设置的问题还是CMD的问题

user5860441:

回复 user4522357:

for(;;){
//if(SampleCount == ADC_BUF_LEN-1)
//{
////asm(" ESTOP0");
//SampleCount = 0;
//}cpudata2++;if (Cla1Regs.MIRUN.bit.INT7 == 1){cpudata1++;}
}

cpudata1一直是0,cla没有运行

user5860441:

回复 Susan Yang:

下午把F28379D_CLAHandsOn_Solution程序烧进芯片,在调试时,task end触发的中断能够进去,说明cla task执行了。但是例程cla_adc_fir32_cpu01不行。

赞(0)
未经允许不得转载:TI中文支持网 » 28377D CLA执行
分享到: 更多 (0)