下面是我的程序,我想让一个led灯亮灭交替闪烁,然后我在MDK里面仿真的时候,这个IO口电平是会交替变化的,但我把程序写进stm32的时候,它就什么反应都没有了,请问这是为什么啊?麻烦各位帮帮忙看一下程序。
谢谢你们了。
#include <sys.h>
#include "stm32f10x_rcc.h"
#include "stm32f10x_flash.h"
#include "delay.h"
int main (void)
{
GPIO_InitTypeDef GPIO_InitStructure;
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == 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_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOD, GPIO_Pin_2);
delay_init();
delay_ms(10);
while(1)
GPIO_SetBits(GPIOD, GPIO_Pin_2);
delay_ms(100);
嗯,了解客户的基本情况也很重要,可以先告知基本的解决思路,然后如果对方再需要进一步的信息就得先告知更详细的资料,这样可以循序渐进。
我想ST不可能去模拟用户的情况,然后再回复吧?这样周期太长,用户可能是一个非常简单的错误导致的,但周期长导致回复慢反而觉得问题总是得不到解决。
ST的工程师应该经验丰富些,首先就该用经验告知基本的解决思路比较好些。
是的,多谢你的建议,我觉得很有道理,能帮助别人解决问题,是最重要的,很多用户也是看得起我们社区才来提问的,所以我一直想让大家尽量都能收到满意的答复。
我以后只要是我知道的,肯定第一时间回复大家,肯定不会打太极拳。
但是我自己知识结构上也有很多欠缺的地方,有些我不是100%肯定的地方我就只能请别的工程师来帮忙了。因为我们内部自己给自己定的准则就是如果你不是这方面肯定懂,就不能乱答。
这点请见谅了。
这个问题和你提的问题,我已经请ST的amanda_s来帮忙看一下,希望给大家最好的回复。