搞了半天,某个数组溢出了,我是砂币
====================================================
已知:
void TIM3_IRQHandler(void) //State Process
{
static unsigned char j=0;
(*p_STA_Function)(&j);
TIM3->SR&=0xFFFE;
}
时钟3里执行一个指向某个函数的指针的函数
void fn_STA_PreStabilize(unsigned char *i)
{
(*i)++;
if ((*i)>10)
{
(*i)=0;
p_STA_Function=fn_STA_RetroStabilize;
}
}
时钟里的函数指针指向该函数,然后该函数会修改指向自己的指针,只向另一个函数
问题:
我在时钟3最后一个语句
TIM3->SR&=0xFFFE;
添加一个中断调试点,一步一步执行,程序可以跑通
然后去掉这个调试点,直接跑,立刻跑飞到hardfault handler的错误向量里面
求助。
--
修改:dismoon FROM 180.116.135.*
FROM 180.116.135.*