Part Number:TMS320F28027Other Parts Discussed in Thread:TMS320F28021,
iqtmp =_IQ(spwmiqvar.spwm_cnt)+_IQ(SIN_B);
spwmiqvar.sinvale =_IQsin(spwmiqvar.sina);
spwmiqvar.sinb =_IQmpy(spwmiqvar.M_FACTOR,spwmiqvar.sinvale);
spwm_value=1000+1000*_IQtoF(spwmiqvar.sinb);
这几句IQ运算,导致printf无输出且主函数main的while的函数也不执行,而且程序非常慢,当我随便注释掉上面的两条语句的任意一条就可以正常执行?难道是IQ执行非常耗时导致中断溢出了?
spwmiqvar.spwm_cnt是uint16_t类型数据 其他均是小数
谢谢!
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!
,
jun liu:
谢谢
,
Cherry Zhou:
您好,请问 printf 的调用位置在哪里?以及 ISR 的确切操作是什么?
这四条语句应该花费少于 90 个时钟周期。 对于程序的剩余部分来说这个窗口是不是太大了?
,
jun liu:
printf在while循环里面 ISR只是计算SPWM的值 要不我把代码发您?
,
Cherry Zhou:
好的那麻烦您po一下代码,帮您跟进给工程师看下。
,
jun liu:
iqtmp =_IQ(spwmiqvar.spwm_cnt)+_IQ(SIN_B);
spwmiqvar.sinvale =_IQsin(spwmiqvar.sina);spwmiqvar.sinb =_IQmpy(spwmiqvar.M_FACTOR,spwmiqvar.sinvale);spwm_value=1000+1000*_IQtoF(spwmiqvar.sinb);
这段代码在中断里面 IQ的问题英文论坛回复没?
,
Cherry Zhou:
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1083417/tms320f28027-iqmath-issue
英文帖子链接如上,您也可以关注下。有答复我们会第一时间给到您。
,
Cherry Zhou:
工程师这边得到带宽的数据后就会尽快给您答复哈。
,
jun liu:
好的 谢谢您
,
jun liu:
能否催下英文论坛关于IQ的问题?我上周代码已经发出了
,
Cherry Zhou:
帮您发邮件催下哈,给您带来的不便敬请谅解!
,
jun liu:
IQ的问题英文论坛回复没?谢谢!
,
Cherry Zhou:
您好,目前还没有哦,已发邮件催促过工程师,给您带来的不便十分抱歉。再帮您催一下,敬请谅解!
,
jun liu:
关于TMS320F28021和TMS320F28027哪里有具体应用的例子?关于IQ的问题能否再催促下?
,
Cherry Zhou:
不好意思,已经帮您催过工程师了哈,新的问题也都跟进给工程师了,有答复尽快给到您,给您带来的不便敬请谅解!