遇到几个非常奇怪的问题!

发布: 2009-12-02 17:05 | 作者: xdz | 来源: StmFans思蜕盟 OPELC 自由电子联盟

最近写一个程序老是遇见莫名其妙的错误,在执行程序时老是进入void HardFaultException(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
这个中断里,刚开始以为是赋值的类型错了,但是怎么检查都没错,再过一会程序有好了,不进上面那个中断了,本来就一个地方是这问题,谁知道越往下写,这种错误也越来越多,很是郁闷,还请高手们指点!
armcu (2009-12-02 21:37:06)
你应该把源程序贴出来啊,至少把进入这个中断的时候那部分的程序贴出来!
xdz (2009-12-03 18:43:40)
这是进入错误中断的那一步:name_temp[i]=sname[i];这是这两个变量的类型:u8 name_temp[12];u8 *sname,这么简单的一句话真是找不到那错了
binglin (2009-12-04 13:39:14)
u8 *sname是一个指针变量,你在使用前分配了内存空间给它没有?
xdz (2009-12-04 17:17:00)
请问一下一般在什么情况下程序会进入到硬件错误中断里面
void HardFaultException(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}也就是这个中断。
binglin (2009-12-04 17:23:18)
出错就会跳到这里来了。
binglin (2009-12-04 17:23:43)
什么错误都有可能跳进硬件错误中断里面的。