主题:controlSUITE中讨论的其他部件
工具/软件:Code Composer Studio
大家好,我想使用IQmath库来生成正弦LUT。 我将此行添加到我的代码中
#include "IQmathLib.h"
#pragma data_section(sine_table,"IQmathTables");
_iq30正弦表[512];
我在以下中断例程中使用它
__interrupt void epwm2_isr (void)
{
静态无符号int索引=0;
//
//更新CMPA和CMBB值
//
EPwm2Regs.CMPA.bit.CMPA = EPwm2Regs.TBPRD - _IQsat (_IQ30pumpy (sin_table[index]+_IQ30 (0.9999))/2,EPwm2Regs.TBPRD),
EPwm2Regs.TBPRD,0);
如果(index++>511)索引=0;
//
//清除此计时器的INT标志
//
EPwm2Regs.ETCLR.bit.INT = 1;
//
//确认此中断以接收来自组3的更多中断
//
PieCtrlRegs.PIEACG.ALL = PIEACK_Group3;
}
我可以编译和加载芯片。 但是,如果在调试会话期间查看正弦表变量,则所有寄存器都是0,在编译期间,我会看到以下警告:
#1.0247万-D创建输出部分"IQmathTables"而不包含部分 ePWM_CHECK_max C/C++问题
请您建议如何使用部分。
谢谢Vadim