您好!
客户使用 F28034进行电机控制。 现在、他们面临一个有关 PIE 矢量表重映射的问题。
在系统加电/断电测试期间,很少有几次,在 fun2()中,test1可以是10而不是20,这是很混乱的。 问题出在哪呢?
F28034外部复位被设定为3.14V。 加电/断电频率为1s、2s、3s、阶跃为10s、再到1s、2s…… 在断电期间、5s 后、RESET 引脚被驱动为低电平;6s 后、F28034完全断电。 3.3V 变为0V。
代码如下所示:
MAIN ()
{
system_peripheral_init();
test1=10; // test1默认值10
EALLOW;
PieVectTable.ADCINT1=&fun1 (); //映射到 fun1 ()
EDIS;
EINT;
for (;;)
{
如果(...) //条件只会为真一次;
{
test1=20; // test1设置为另一个值20
EALLOW;
pieVectTable.ADCINT1=&fun2 (); //重新映射到 func2 (),它只执行一次。
EDIS;
}//if (...)
(笑声)
(笑声)
}//for (;;)
}//main()
fun1 () {...}
fun2()
{
printf (test1);
}
非常感谢。
BR、Jordan