实现 led灯定时1s亮灭
led初始化函数:
void LED_GPIO_Config()
{
GPIO_InitTypeDef GPIO_InitStructure;
//启用GPIO对应时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
// 找到对应引脚
// GPIOA 8
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
// 配置输出OUTPUT
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
// SPEED
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
// 低电平
GPIO_ResetBits(GPIOA, GPIO_Pin_8);
// while(1)
//return 0;
}
//在stm32f10x_it.c文件中修改函数:
uint32_t g_timer_count;
void SysTick_Handler(void)
{
if(g_timer_count>0){
g_timer_count–;
}
}
//定时器中端函数
void init_timer()
{
SysTick_Config(SystemCoreClock/100000);//每隔10us产生一次中断
}
void delay_us(uint32_t time)
{
g_timer_count=time;
while(g_timer_count!=0){}
}
//主函数 实现led灯每隔一秒亮灭
int mian()
{
LED_GPIO_Config();
while(1){
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
delay_us(1000100);
GPIO_SetBits(GPIOA,GPIO_Pin_8);
delay_us(1000100);
}
}