原子哥,最近在看您的视频学习STM32,算是新手,今天自己写了一段代码,但是下载后无法正常执行,只有在点击debug,并且点击左边的Run后,才开始执行。请问这个为什么?谢谢哈。。
PS:我用的是keil.
简单的程序如下:
void RCC_HSE_Configuration(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
if(RCC_WaitForHSEStartUp() == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6); //12M
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
}
}
int main(void)
{
delay_init();
GPIO_InitTypeDef GPIO_InitStructure;
RCC_HSE_Configuration();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_13);
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
delay_ms(1000);
GPIO_SetBits(GPIOB,GPIO_Pin_13);
delay_ms(1000);
}
}
|