基于3.0的库SD卡程序跑飞

发布: 2010-1-06 09:09 | 作者: kgq398 | 来源: StmFans思蜕盟 OPELC 自由电子联盟

18 sd card.rar
(2010-01-06 09:09:21, Size: 273 KB, Downloads: 7)

我做SD卡驱动基于3.0的库,程序走到下面的写SD卡的一个扇区,跳进去就跑飞到
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
这个里面,不知道是为什么。请各位大侠给看一下
void Test_SdCard(void)
  {
      u16 i;
          u8 write_buf[512],read_buf[512];
          for(i=0;i<512;i++)         //清空写缓存,并赋值
           {
                  write_buf=i;
           }
                SD_WriteSingleBlock(0,write_buf);  //写SD卡一个扇区
            SD_ReadSingleBlock(0,read_buf);                //读取该扇区的数据
                for(i=0;i<512;i++)
                 {
                   USART2_Puts("read_buf is %d  \n",read_buf);
                 }
               
  }
binglin (2010-1-06 16:55:52)
楼主请考虑在函数体内定义的数组放在那里也就能找到原因了。
kgq398 (2010-1-06 18:06:41)
呵呵,谢了。我今天回去调试一下。我开发板不在手边。因为我发现函数内部的定义成了const 了。我回去调试一下,完了来了告诉你。
binglin (2010-1-06 19:18:00)
好的,等你好消息,只要是软件的问题都是可以解决的。
kgq398 (2010-1-07 08:58:46)

18 sdcard_2使用2.0的库.rar
(2010-01-07 08:58:23, Size: 281 KB, Downloads: 12)

18 sd card使用3.0的库.rar
(2010-01-07 08:58:33, Size: 270 KB, Downloads: 8)

我很奇怪。为什么我用2.0的启动代码和库,还用一样的函数,就可以成功。附上我的代码。看看
zoyon (2010-1-08 15:20:53)
进来学习
07440130 (2010-2-01 15:51:39)
学习了,谢谢!!
cyxtom (2010-2-11 11:15:02)
楼主,你的3.0库的找到原因了吗?
wofly (2010-4-12 13:07:44)
我用3.0库也出现相同的问题,请问楼主是怎么解决的??
请告之,谢谢。