公司买的STM32F4的EVAL板,刚开始学习,所以很菜。写了个让LED灯闪烁的工程,结果下载到板子上不亮,不知什么原因,困扰我好几天了,只能来论坛求助于各位大侠了,希望能得到解决啊,谢谢了。
#include "stm32f4xx.h"
#include "main.h"
#include "stm32f4xx_gpio.h"
GPIO_InitTypeDef GPIO_InitStructure;
__IO u16 ntime;
int main(void)
{
void LED_Init();
while (1)
{
GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8;
delay_ms(1000);
GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8;
}
}
void LED_Init(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOG, &GPIO_InitStructure);
}
void delay_ms(u16 nms)
{
ntime=nms;
SysTick_Config(168000);//1ms产生一次中断
while(ntime);
SysTick->CTRL=0x00;
}
void delay_us(u32 nus)
{
ntime=nus;
SysTick_Config(168);//1us产生一次中断
while(ntime);
SysTick->CTRL=0x00;
}
void Delay(u32 count)
{
while(count--);
}
此帖出自
小平头技术问答
GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8;
delay_ms(1000);
GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8;
后面应该再加一个延时 delay_ms(1000);
不然怎么会闪烁呢 呵呵
一周热门 更多>