打印

请教高手如何从函数HardFault_Handler中跳出来?

[复制链接]
3998|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cxy0629|  楼主 | 2011-4-14 15:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STM32F107VCT6的芯片调试SD卡的SPI模式操作,程序才刚开始运行就跳入HardFault_Handler函数出不来了:主程序:
int main(void)
{
/*#ifdef DEBUG
debug(); */
SPI_InitTypeDef   SPI_InitStructure;
u8 sd_recv_buf[512];
u8 sd_send_buf[512];
u32 i = 0,j = 0;
u8 ret = 1;
RCC_Configuration();主程序运行到RCC的初始化还可以进入;但是进去之后void RCC_Configuration(void)
{
    RCC_DeInit();

/* Enable HSE */
    RCC_HSEConfig(RCC_HSE_ON);

/* Wait till HSE is ready */
    HSEStartUpStatus=RCC_WaitForHSEStartUp();
到这一语句就进入死循环了,好像是RCC_WaitForHSEStartUp()函数进入不了
也查过一些相关资料看,还是不明白应该怎么解决才能让程序跳出这样的硬件异常,还请各位高手帮忙解决,困扰我很久了呢,先谢过大家了!
  
沙发
cxy0629|  楼主 | 2011-4-14 15:46 | 只看该作者
还请高手帮忙指点一二哦:handshake

使用特权

评论回复
板凳
cxy0629|  楼主 | 2011-4-14 16:25 | 只看该作者
RCC_WaitForHSEStartUp 这个函数是等待HSE准备好,若超时时间到来则退出。
ErrorStatus RCC_WaitForHSEStartUp(void)
{
  u32 StartUpCounter = 0;
  ErrorStatus status = ERROR;
  FlagStatus HSEStatus = RESET;
我的程序运行到第一句就进不去了,直接跳到函数HardFault_Handler 不出来

使用特权

评论回复
地板
cxy0629|  楼主 | 2011-4-24 10:30 | 只看该作者
解决了哦,把局部变量改成全局变量就能通过了!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

35

帖子

1

粉丝