程序调试进不了主程序,进入其他文件

2019-08-22 16:05发布

debug 运行后直接进入其他文件进入不了主程序,大神帮忙看下

#include"stm32f10x_it.h"               
#include"stm32f10x.h"

void RCC_Configuration(void);
void GPIO_Configuration(void);
void delay1ms(u16 z)
{
        u8 y;
        for(;z>0;z--)
                for(y=110;y>0;y--);
}
int main(void)
{
        u16 F,M,BRR;
        u32 Bound;
        float Div;       
       
        RCC_Configuration();
        GPIO_Configuration();
       
        USART1->CR1=USART1->CR1 | (1<<13);  //UE
        USART1->CR1=USART1->CR1 & ~(1<<12);        //M
        USART1->CR1=USART1->CR1 & ~(3<<13);       
        Bound=9600;
        Div=(float)72*1000*1000/(16*Bound);
        M=Div;
        F=(Div-M)*16;
        BRR=(M<<4)+F;
        USART1->BRR=BRR;       
       
        USART1->DR='A';
}
void RCC_Configuration(void)
{
        RCC_DeInit();                       
        RCC_HSEConfig(RCC_HSE_ON);       
        while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
       
        RCC_HCLKConfig(RCC_SYSCLK_Div1);                //HCLK = SYSCLK
        RCC_PCLK2Config(RCC_HCLK_Div1);                        //PCLK2 =  HCLK
        RCC_PCLK1Config(RCC_HCLK_Div2);                        //PCLK1 = HCLK/2
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);        //PLLCLK = 8MHZ * 9 =72MHZ
        RCC_PLLCmd(ENABLE);                        //Enable PLLCLK

        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);        //Wait till PLLCLK is ready
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);        //Select PLL as system clock
        while(RCC_GetSYSCLKSource()!=0x08);                //Wait till PLL is used as system clock source

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
       
}
void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  /* Configure USARTx_Tx as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  /* Configure USARTx_Rx as input floating */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

}

void USART_Configuration(u32 BaudRate)
{
        USART_InitTypeDef USART_InitStructure;
        USART_InitStructure.USART_BaudRate = BaudRate;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;  
        USART_Init(USART1, &USART_InitStructure);
        USART_Cmd(USART1, ENABLE);
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
huishun1314
1楼-- · 2019-08-22 20:33
本帖最后由 huishun1314 于 2017-4-7 17:25 编辑

参考 8楼 左边,右边的 run to main 都勾选上,这样软件仿真 jlink仿真都能进入 main 函数了
十七年
2楼-- · 2019-08-22 22:37
C:UsersAdministratorDesktopQN%5B@)AWQMK}ZGP6VXE_TW9I
Electronic
3楼-- · 2019-08-23 03:22
检查BOOT0是否正确,正常应该是低电平
十七年
4楼-- · 2019-08-23 05:46
 精彩回答 2  元偷偷看……
十七年
5楼-- · 2019-08-23 08:00
Electronic 发表于 2017-4-6 10:33
检查BOOT0是否正确,正常应该是低电平

怎么检查 ,是新手完全不懂呀
Electronic
6楼-- · 2019-08-23 12:25
你对照原理图,看看哪个引脚是BOOT0,然后用万用表测量是不是低电平

一周热门 更多>