• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32F103ZET6初始化死机是什么问题啊!?

江湖渔民 2014-06-18 浏览量:4203

自己编的STM32程序,调试的时候就直接卡在startup_stm32f10x_hd.s文件里面了,进不了主函数。编译的时候也没有错误啊!

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:32

  • 请仔细检查语言的逻辑函数之间的调用

  • #include "sys.h"
    #include "delay.h"
    #include "usart.h"
    #include "ccd_deriver.h"
    #include "exti.h"
    extern u16 ting;
    int main (void)
    {
    u16 i;
    Stm32_Clock_Init(9);//系统时钟设置 
    delay_init(72);     //延时初始化 
    uart_init(72,9600);  //系统时钟为72M串口初始化为9600
    Derive_Init();  //输出引脚初始化,用于设置曝光积分时间M4~M0
    Adc_Init(); //ADC模数转换模块初始化
    ExSRAM_Save_Init();//外部SRAM初始化
    EXTIX_Init();   //中断初始化,通过中断的方式来采集像元电压信号
    while(1)
    {
    while(ting==0)
    {
    for(i=0;i<=3694;i++)
    {
    USART1->DR=*((u16*)(Bank1_SRAM3_ADDR+i));

    while((USART1->SR&0X40)==0);//等待发送结束
    }
    }
    }
    }

  • 这是主函数,我是用中断来进行AD调用和FSMC调用的,也没啥非法的函数啊!

  • 这是我的工程文件,各位大侠,先谢谢了

  • 这个里面卡 说明你一开始就跳不出这个启动函数啊,这个就像boot。编译没有错误是正常。

    你能下载程序么?程序烧录进去对么?

    你在线调试的时候,你可以通过设置断点来调试,如果你是通过单步肯定出不来,如果不是单步那说明你的程序存在问题,光看你贴的那点程序很难看出说明问题。

  • 编译的时候没有错误、警告的,我也能下载进去,就是没反应的!通过jlink调试就是死在启动文件里了,又找来别人的例程就没这问题,编译软件和仿真器应该是没有问题的。

  • 你这个是用了正点原子的例程吧。下载进去没有反应  说明程序根本没有达到你想要的结果也就是烧录了类似一个空程序,得好好检查 调查了什么函数  比如你主函数里面的第一个函数 配置时钟的

  • 嗯嗯,先谢谢啦!我再检查一下吧。。。从来没想过居然不能进入主函数的问题出现。。。

  • 设置断点,现在while里面设置断点,然后全速运行 看看能到主函数不?

  • 建议还是直接把你的工程文件直接上传上来

  • 个人觉得需要检查板卡的硬件是否一致,尤其是晶振部分,我觉得很有可能使因为时钟的配置的问题导致的

  • 中断需要配置一下 应该就没有什么问题了,我以前也遇到过。。。


  • 撸主,问题解决了没?着急的等待ing

  • 撸主的s文件正确吗?

    有些开发板的例程会修改s文件的

相关问题

问题达人换一批

STM32F103ZET6初始化死机是什么问题啊!?