在
论坛上有任何问题之前:我可以在运行时更改过滤器常量吗?我的回答是:是的,你可以。
这里有一个代码片段,抱怨它是如何工作的。
空LoadFilter(UIT8FLTR)//FLTR是指向专用参数块的指针。
{//DIF-DFB RAM在总线上:
滤子RAMI DRILYRG = FILTRE RAMI DRIYBUS;
如果(FLTR=1)
CytMeCpPy(FieldBdYRAM,Fiter 100xDATAYB,FieldBdl RAMYLA大小);
否则,如果(FLTR=2)
CytMeCpPy(FieldBdYRAM,Field200,DATAAB,FieldBdl RAMOLY大小);
否则,如果(FLTR=3)
CytMeCpPy(FieldBdYRAM,Field400,DATAAYB,Fielder-dBa RAMOLY大小);
否则,如果(FLTR=4)
CyMeMcPy(FieldBdYRAM,FiTrTpP2500,DATAYB,Fielder-dBa RAMYSIZE);
/从总线上取出DFB RAM:
滤子RAMI DRILYRG=FILTRE RAMI DILYDFB;
}
可以使用嵌入式筛选器向导计算的筛选器数据。设置参数后
在筛选器块中,构建应用程序,然后读取文件过滤器:RAMixDATa.
CONTU-UIT8 Cyter FieldAdDaaYB[]=
{
0x14,0xd0,0x01,0x00,0x28,0xa0,0x03,0x00,…
如果你想改变过滤器结构(FIR ->IIR),你必须以同样的方式交换下面的矩阵:
CONST U
tiT8 Cyter Fielter控件[]=
{
0x20,0x13,0x00,0x25,0x61,0x17,0x80,0x26,…
不知道为什么所有的过滤系数都位于FiltTeDATAYB中,甚至当你使用过滤级A.时。
祝你好运!